diff --git a/.clang-format b/.clang-format index 392e201..9b3aa8b 100644 --- a/.clang-format +++ b/.clang-format @@ -1,2 +1 @@ BasedOnStyle: LLVM -AlwaysBreakTemplateDeclarations: Yes \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c73827..7208c35 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ if(POLICY CMP0077) cmake_policy(SET CMP0077 NEW) endif() -project(hlsld LANGUAGES CXX C) +project(scalehls LANGUAGES CXX C) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED YES) @@ -27,12 +27,12 @@ set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/bin) set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/lib) set(MLIR_BINARY_DIR ${CMAKE_BINARY_DIR}) -set(HLSLD_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include ) -set(HLSLD_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/include ) +set(SCALEHLS_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include ) +set(SCALEHLS_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/include ) -set(HLSLD_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) -set(HLSLD_BINARY_DIR ${CMAKE_BINARY_DIR}/bin) -set(HLSLD_TOOLS_DIR ${CMAKE_BINARY_DIR}/bin) +set(SCALEHLS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) +set(SCALEHLS_BINARY_DIR ${CMAKE_BINARY_DIR}/bin) +set(SCALEHLS_TOOLS_DIR ${CMAKE_BINARY_DIR}/bin) list(APPEND CMAKE_MODULE_PATH "${MLIR_CMAKE_DIR}") list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}") diff --git a/README.md b/README.md index a7d9197..4848f6d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# HLS Large Design Project (HLSLD) +# ScaleHLS Project (SCALEHLS) This project aims to create a framework that ultimately converts an algorithm written in a high level language into an efficient hardware implementation. With multiple levels of intermediate representations (IRs), MLIR appears to be the ideal tool for exploring ways to optimize the eventual design at various levels of abstraction (e.g. various levels of parallelism). Our framework will be based on MLIR, it will incorporate a backend for high level synthesis (HLS) C/C++ code. However, the key contribution will be our parametrization and optimization of a tremendously large design space. @@ -7,24 +7,24 @@ This setup assumes that you have built LLVM and MLIR in `$LLVM_BUILD_DIR`. To bu ```sh mkdir build && cd build cmake -G Ninja .. -DMLIR_DIR=$LLVM_BUILD_DIR/lib/cmake/mlir -DLLVM_EXTERNAL_LIT=$LLVM_BUILD_DIR/bin/llvm-lit -cmake --build . --target check-hlsld +cmake --build . --target check-scalehls ``` After the installation and test successfully completed, you should be able to run ```sh -bin/hlsld-translate -emit-hlscpp ../test/EmitHLSCpp/test_*.mlir +bin/scalehls-translate -emit-hlscpp ../test/EmitHLSCpp/test_*.mlir ``` ## TODO List -### hlsld-translate: EmitHLSCpp +### scalehls-translate EmitHLSCpp 1. **Test HLS C++ emitter with some real benchmarks;** 2. **TODOs in EmitHLSCpp.cpp;** 3. **Create testcase for each important operation;** 4. Support memref/tensor cast/view/subview operations; 5. Support atomic/complex/extend -related operations. -### hlsld-opt +### scalehls-opt 1. Initial implementation. -### HLSCpp Dialect (?) +### HLSCpp Dialect 1. **Think about the dialect design.** 2. Initial implementation. diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt index e69de29..629c08a 100644 --- a/include/CMakeLists.txt +++ b/include/CMakeLists.txt @@ -0,0 +1,2 @@ +add_subdirectory(Conversion) +add_subdirectory(Dialect) diff --git a/include/Conversion/CMakeLists.txt b/include/Conversion/CMakeLists.txt new file mode 100644 index 0000000..e69de29 diff --git a/include/Dialect/CMakeLists.txt b/include/Dialect/CMakeLists.txt new file mode 100644 index 0000000..6431d5b --- /dev/null +++ b/include/Dialect/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(HLSCpp) diff --git a/include/Dialect/HLSCpp/CMakeLists.txt b/include/Dialect/HLSCpp/CMakeLists.txt new file mode 100644 index 0000000..e69de29 diff --git a/include/EmitHLSCpp.h b/include/EmitHLSCpp.h index 4f18d0b..aeb8bc1 100644 --- a/include/EmitHLSCpp.h +++ b/include/EmitHLSCpp.h @@ -2,11 +2,11 @@ // //===----------------------------------------------------------------------===// -#ifndef HLSLD_EMIT_HLSCPP_H -#define HLSLD_EMIT_HLSCPP_H +#ifndef SCALEHLS_EMIT_HLSCPP_H +#define SCALEHLS_EMIT_HLSCPP_H -namespace hlsld { +namespace scalehls { void registerHLSCppEmitterTranslation(); -} // namespace hlsld +} // namespace scalehls -#endif // HLSLD_EMIT_HLSCPP_H +#endif // SCALEHLS_EMIT_HLSCPP_H diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index ab67584..2258586 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1 +1,3 @@ +add_subdirectory(Conversion) +add_subdirectory(Dialect) add_subdirectory(EmitHLSCpp) diff --git a/lib/Conversion/CMakeLists.txt b/lib/Conversion/CMakeLists.txt new file mode 100644 index 0000000..e69de29 diff --git a/lib/Dialect/CMakeLists.txt b/lib/Dialect/CMakeLists.txt new file mode 100644 index 0000000..6431d5b --- /dev/null +++ b/lib/Dialect/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(HLSCpp) diff --git a/lib/Dialect/HLSCpp/CMakeLists.txt b/lib/Dialect/HLSCpp/CMakeLists.txt new file mode 100644 index 0000000..e69de29 diff --git a/lib/EmitHLSCpp/CMakeLists.txt b/lib/EmitHLSCpp/CMakeLists.txt index cac87f0..a89dd13 100644 --- a/lib/EmitHLSCpp/CMakeLists.txt +++ b/lib/EmitHLSCpp/CMakeLists.txt @@ -1,6 +1,6 @@ file(GLOB globbed *.cpp) -add_mlir_library(HLSLDEmitHLSCpp +add_mlir_library(SCALEHLSEmitHLSCpp ${globbed} ADDITIONAL_HEADER_DIRS diff --git a/lib/EmitHLSCpp/EmitHLSCpp.cpp b/lib/EmitHLSCpp/EmitHLSCpp.cpp index 762faa0..77aa0f9 100644 --- a/lib/EmitHLSCpp/EmitHLSCpp.cpp +++ b/lib/EmitHLSCpp/EmitHLSCpp.cpp @@ -311,8 +311,7 @@ public: void emitAffineYield(AffineYieldOp *op); /// Memref-related statement emitters. - template - void emitAlloc(OpType *op); + template void emitAlloc(OpType *op); void emitLoad(LoadOp *op); void emitStore(StoreOp *op); @@ -925,8 +924,7 @@ void ModuleEmitter::emitAffineYield(AffineYieldOp *op) { } /// Memref-related statement emitters. -template -void ModuleEmitter::emitAlloc(OpType *op) { +template void ModuleEmitter::emitAlloc(OpType *op) { // This indicates that the memref is output of the function, and has been // declared in the function signature. if (isDeclared(op->getResult())) @@ -1315,7 +1313,7 @@ using namespace std; } //===----------------------------------------------------------------------===// -// Entry of hlsld-translate +// Entry of scalehls-translate //===----------------------------------------------------------------------===// static LogicalResult emitHLSCpp(ModuleOp module, llvm::raw_ostream &os) { @@ -1324,6 +1322,6 @@ static LogicalResult emitHLSCpp(ModuleOp module, llvm::raw_ostream &os) { return failure(state.encounteredError); } -void hlsld::registerHLSCppEmitterTranslation() { +void scalehls::registerHLSCppEmitterTranslation() { static TranslateFromMLIRRegistration toHLSCpp("emit-hlscpp", emitHLSCpp); } diff --git a/models/mnist/TVM for Fun and Profit Tutorial.ipynb b/models/mnist/TVM for Fun and Profit Tutorial.ipynb deleted file mode 100644 index 8fb8a5c..0000000 --- a/models/mnist/TVM for Fun and Profit Tutorial.ipynb +++ /dev/null @@ -1 +0,0 @@ -{"nbformat":4,"nbformat_minor":0,"metadata":{"accelerator":"GPU","colab":{"name":"TVM for Fun and Profit Tutorial.ipynb","provenance":[{"file_id":"https://github.com/uwsampl/tutorial/blob/master/notebook/01_TVM_Tutorial_Intro.ipynb","timestamp":1586760956945}]},"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.7.2"}},"cells":[{"cell_type":"markdown","metadata":{"colab_type":"text","id":"HDROSZ2XRHM6"},"source":["[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/uwsampl/tutorial/blob/master/notebook/01_TVM_Tutorial_Intro.ipynb)"]},{"cell_type":"markdown","metadata":{"colab_type":"text","id":"TNcBzaPcVcp2"},"source":["Welcome to the TVM tutorial. First we are going to get you setup so you can run the tutorial completely in the Cloud.\n","\n","Google's Colab notebook's run on ephmeral nodes in the cloud. In order to preserve your build of TVM across notebooks and sessions we will be using Google Drive to cache your build of TVM.\n","\n","If you have already done this step, for this notebook or another, please skip ahead to the content\n","after running these cells.\n","\n","# Installing TVM\n","\n","First we will connect to your Google drive, please follow the authentication steps below, after executing the cell."]},{"cell_type":"code","metadata":{"colab_type":"code","id":"R4PJa-AETUf3","outputId":"d01dbeba-940b-447f-948d-5031b2cbc7c7","executionInfo":{"status":"ok","timestamp":1586924368291,"user_tz":300,"elapsed":20836,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"colab":{"base_uri":"https://localhost:8080/","height":124}},"source":["from google.colab import drive\n","drive.mount('/content/gdrive')"],"execution_count":1,"outputs":[{"output_type":"stream","text":["Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&response_type=code&scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly\n","\n","Enter your authorization code:\n","··········\n","Mounted at /content/gdrive\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"colab_type":"text","id":"EMJSjZOwWnjp"},"source":["Next we will install TVM in the Colab notebook, so we may use it for the rest of the tutorial."]},{"cell_type":"code","metadata":{"colab_type":"code","id":"VdUJuJBbRHM8","outputId":"ebe3bd95-a32a-4b97-cd13-914843fb87f0","executionInfo":{"status":"ok","timestamp":1586924398490,"user_tz":300,"elapsed":33442,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"colab":{"base_uri":"https://localhost:8080/","height":1000}},"source":["%%bash\n","[[ ! -e /tools/google-cloud-sdk ]] && exit \n","echo \"Installing Dependencies ...\"\n","sudo apt-get update\n","sudo apt-get install -y -q llvm-6.0 libglfw3-dev libtinfo-dev libffi-dev zlib1g-dev clinfo"],"execution_count":2,"outputs":[{"output_type":"stream","text":["Installing Dependencies ...\n","Get:1 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease [3,626 B]\n","Get:2 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages [88.1 kB]\n","Ign:3 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease\n","Ign:4 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 InRelease\n","Hit:5 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 Release\n","Hit:6 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 Release\n","Get:7 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]\n","Get:10 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic InRelease [21.3 kB]\n","Hit:11 http://archive.ubuntu.com/ubuntu bionic InRelease\n","Get:12 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]\n","Get:13 http://ppa.launchpad.net/marutter/c2d4u3.5/ubuntu bionic InRelease [15.4 kB]\n","Get:14 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [889 kB]\n","Get:15 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic/main amd64 Packages [37.4 kB]\n","Get:16 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]\n","Get:17 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [839 kB]\n","Get:18 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1,372 kB]\n","Get:19 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [8,213 B]\n","Get:20 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [44.6 kB]\n","Get:21 http://ppa.launchpad.net/marutter/c2d4u3.5/ubuntu bionic/main Sources [1,811 kB]\n","Get:22 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [59.0 kB]\n","Get:23 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [1,183 kB]\n","Get:24 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [12.6 kB]\n","Get:25 http://ppa.launchpad.net/marutter/c2d4u3.5/ubuntu bionic/main amd64 Packages [874 kB]\n","Fetched 7,509 kB in 8s (969 kB/s)\n","Reading package lists...\n","Reading package lists...\n","Building dependency tree...\n","Reading state information...\n","zlib1g-dev is already the newest version (1:1.2.11.dfsg-0ubuntu2).\n","zlib1g-dev set to manually installed.\n","clinfo is already the newest version (2.2.18.03.26-1).\n","libtinfo-dev is already the newest version (6.1-1ubuntu1.18.04).\n","libtinfo-dev set to manually installed.\n","The following additional packages will be installed:\n"," binfmt-support libglfw3 libvulkan-dev libvulkan1 libxrandr-dev llvm-6.0-dev\n"," llvm-6.0-runtime mesa-vulkan-drivers x11proto-randr-dev\n","Suggested packages:\n"," libegl1-mesa | libegl1-x11 llvm-6.0-doc\n","The following NEW packages will be installed:\n"," binfmt-support libffi-dev libglfw3 libglfw3-dev libvulkan-dev libvulkan1\n"," libxrandr-dev llvm-6.0 llvm-6.0-dev llvm-6.0-runtime mesa-vulkan-drivers\n"," x11proto-randr-dev\n","0 upgraded, 12 newly installed, 0 to remove and 61 not upgraded.\n","Need to get 31.2 MB of archives.\n","After this operation, 197 MB of additional disk space will be used.\n","Get:1 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic/main amd64 libvulkan1 amd64 1.1.126.0-2~gpu18.04.1 [101 kB]\n","Get:2 http://archive.ubuntu.com/ubuntu bionic/main amd64 binfmt-support amd64 2.1.8-2 [51.6 kB]\n","Get:3 http://archive.ubuntu.com/ubuntu bionic/universe amd64 libglfw3 amd64 3.2.1-1 [49.2 kB]\n","Get:4 http://archive.ubuntu.com/ubuntu bionic/universe amd64 libglfw3-dev amd64 3.2.1-1 [30.9 kB]\n","Get:5 http://archive.ubuntu.com/ubuntu bionic/main amd64 x11proto-randr-dev all 2018.4-4 [2,620 B]\n","Get:6 http://archive.ubuntu.com/ubuntu bionic/main amd64 libxrandr-dev amd64 2:1.5.1-1 [24.0 kB]\n","Get:7 http://archive.ubuntu.com/ubuntu bionic/main amd64 llvm-6.0-runtime amd64 1:6.0-1ubuntu2 [200 kB]\n","Get:8 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic/main amd64 libvulkan-dev amd64 1.1.126.0-2~gpu18.04.1 [472 kB]\n","Get:9 http://archive.ubuntu.com/ubuntu bionic/main amd64 llvm-6.0 amd64 1:6.0-1ubuntu2 [4,838 kB]\n","Get:10 http://archive.ubuntu.com/ubuntu bionic/main amd64 libffi-dev amd64 3.2.1-8 [156 kB]\n","Get:11 http://archive.ubuntu.com/ubuntu bionic/main amd64 llvm-6.0-dev amd64 1:6.0-1ubuntu2 [23.0 MB]\n","Get:12 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 mesa-vulkan-drivers amd64 19.2.8-0ubuntu0~18.04.3 [2,247 kB]\n","Fetched 31.2 MB in 6s (5,132 kB/s)\n","Selecting previously unselected package binfmt-support.\r\n","(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 144568 files and directories currently installed.)\r\n","Preparing to unpack .../00-binfmt-support_2.1.8-2_amd64.deb ...\r\n","Unpacking binfmt-support (2.1.8-2) ...\r\n","Selecting previously unselected package libglfw3:amd64.\r\n","Preparing to unpack .../01-libglfw3_3.2.1-1_amd64.deb ...\r\n","Unpacking libglfw3:amd64 (3.2.1-1) ...\r\n","Selecting previously unselected package libglfw3-dev:amd64.\r\n","Preparing to unpack .../02-libglfw3-dev_3.2.1-1_amd64.deb ...\r\n","Unpacking libglfw3-dev:amd64 (3.2.1-1) ...\r\n","Selecting previously unselected package libvulkan1:amd64.\r\n","Preparing to unpack .../03-libvulkan1_1.1.126.0-2~gpu18.04.1_amd64.deb ...\r\n","Unpacking libvulkan1:amd64 (1.1.126.0-2~gpu18.04.1) ...\r\n","Selecting previously unselected package libvulkan-dev:amd64.\r\n","Preparing to unpack .../04-libvulkan-dev_1.1.126.0-2~gpu18.04.1_amd64.deb ...\r\n","Unpacking libvulkan-dev:amd64 (1.1.126.0-2~gpu18.04.1) ...\r\n","Selecting previously unselected package x11proto-randr-dev.\r\n","Preparing to unpack .../05-x11proto-randr-dev_2018.4-4_all.deb ...\r\n","Unpacking x11proto-randr-dev (2018.4-4) ...\r\n","Selecting previously unselected package libxrandr-dev:amd64.\r\n","Preparing to unpack .../06-libxrandr-dev_2%3a1.5.1-1_amd64.deb ...\r\n","Unpacking libxrandr-dev:amd64 (2:1.5.1-1) ...\r\n","Selecting previously unselected package llvm-6.0-runtime.\r\n","Preparing to unpack .../07-llvm-6.0-runtime_1%3a6.0-1ubuntu2_amd64.deb ...\r\n","Unpacking llvm-6.0-runtime (1:6.0-1ubuntu2) ...\r\n","Selecting previously unselected package llvm-6.0.\r\n","Preparing to unpack .../08-llvm-6.0_1%3a6.0-1ubuntu2_amd64.deb ...\r\n","Unpacking llvm-6.0 (1:6.0-1ubuntu2) ...\r\n","Selecting previously unselected package libffi-dev:amd64.\r\n","Preparing to unpack .../09-libffi-dev_3.2.1-8_amd64.deb ...\r\n","Unpacking libffi-dev:amd64 (3.2.1-8) ...\r\n","Selecting previously unselected package llvm-6.0-dev.\r\n","Preparing to unpack .../10-llvm-6.0-dev_1%3a6.0-1ubuntu2_amd64.deb ...\r\n","Unpacking llvm-6.0-dev (1:6.0-1ubuntu2) ...\r\n","Selecting previously unselected package mesa-vulkan-drivers:amd64.\r\n","Preparing to unpack .../11-mesa-vulkan-drivers_19.2.8-0ubuntu0~18.04.3_amd64.deb ...\r\n","Unpacking mesa-vulkan-drivers:amd64 (19.2.8-0ubuntu0~18.04.3) ...\r\n","Setting up libvulkan1:amd64 (1.1.126.0-2~gpu18.04.1) ...\r\n","Setting up binfmt-support (2.1.8-2) ...\r\n","Created symlink /etc/systemd/system/multi-user.target.wants/binfmt-support.service → /lib/systemd/system/binfmt-support.service.\r\n","invoke-rc.d: could not determine current runlevel\r\n","invoke-rc.d: policy-rc.d denied execution of start.\r\n","Setting up mesa-vulkan-drivers:amd64 (19.2.8-0ubuntu0~18.04.3) ...\r\n","Setting up libvulkan-dev:amd64 (1.1.126.0-2~gpu18.04.1) ...\r\n","Setting up libglfw3:amd64 (3.2.1-1) ...\r\n","Setting up libffi-dev:amd64 (3.2.1-8) ...\r\n","Setting up llvm-6.0-runtime (1:6.0-1ubuntu2) ...\r\n","Setting up x11proto-randr-dev (2018.4-4) ...\r\n","Setting up llvm-6.0 (1:6.0-1ubuntu2) ...\r\n","Setting up libglfw3-dev:amd64 (3.2.1-1) ...\r\n","Setting up libxrandr-dev:amd64 (2:1.5.1-1) ...\r\n","Setting up llvm-6.0-dev (1:6.0-1ubuntu2) ...\r\n","Processing triggers for systemd (237-3ubuntu10.39) ...\r\n","Processing triggers for man-db (2.8.3-2ubuntu0.1) ...\r\n","Processing triggers for libc-bin (2.27-3ubuntu1) ...\r\n","/sbin/ldconfig.real: /usr/local/lib/python3.6/dist-packages/ideep4py/lib/libmkldnn.so.0 is not a symbolic link\r\n","\r\n"],"name":"stdout"},{"output_type":"stream","text":["debconf: unable to initialize frontend: Dialog\n","debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 12.)\n","debconf: falling back to frontend: Readline\n","debconf: unable to initialize frontend: Readline\n","debconf: (This frontend requires a controlling tty.)\n","debconf: falling back to frontend: Teletype\n","dpkg-preconfigure: unable to re-open stdin: \n"],"name":"stderr"}]},{"cell_type":"code","metadata":{"colab_type":"code","id":"9OGo3n7qW9mL","colab":{}},"source":["%%bash\n","[[ ! -e /tools/google-cloud-sdk ]] && exit \n","cd /content/gdrive/\"My Drive\"\n","if [[ ! -e tvm ]]; then\n"," echo \"Cloning TVM ...\"\n"," git clone --recursive https://github.com/dmlc/tvm\n","fi\n"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"colab_type":"code","id":"a0ntbF1vXH5L","outputId":"0caddbed-8ddb-4143-e2a7-29e731130e97","executionInfo":{"status":"ok","timestamp":1586924401906,"user_tz":300,"elapsed":35503,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"colab":{"base_uri":"https://localhost:8080/","height":1000}},"source":["%%bash\n","[[ ! -e /tools/google-cloud-sdk ]] && exit \n","echo \"Configuring Build ...\"\n","cd \"/content/gdrive/My Drive/tvm\"\n","mkdir -p build\n","cp cmake/config.cmake build\n","# sed -i -e 's/USE_OPONGL OFF/USE_OPONGL ON/g' build/config.cmake\n","sed -i -e 's/USE_CUDA OFF/USE_CUDA ON/g' build/config.cmake\n","sed -i -e 's/USE_CUDNN OFF/USE_CUDNN ON/g' build/config.cmake\n","sed -i -e 's/USE_LLVM OFF/USE_LLVM ON/g' build/config.cmake\n","sed -i -e 's/USE_VTA_TSIM OFF/USE_VTA_TSIM ON/g' build/config.cmake\n","cat build/config.cmake"],"execution_count":4,"outputs":[{"output_type":"stream","text":["Configuring Build ...\n","# Licensed to the Apache Software Foundation (ASF) under one\n","# or more contributor license agreements. See the NOTICE file\n","# distributed with this work for additional information\n","# regarding copyright ownership. The ASF licenses this file\n","# to you under the Apache License, Version 2.0 (the\n","# \"License\"); you may not use this file except in compliance\n","# with the License. You may obtain a copy of the License at\n","#\n","# http://www.apache.org/licenses/LICENSE-2.0\n","#\n","# Unless required by applicable law or agreed to in writing,\n","# software distributed under the License is distributed on an\n","# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n","# KIND, either express or implied. See the License for the\n","# specific language governing permissions and limitations\n","# under the License.\n","\n","#--------------------------------------------------------------------\n","# Template custom cmake configuration for compiling\n","#\n","# This file is used to override the build options in build.\n","# If you want to change the configuration, please use the following\n","# steps. Assume you are on the root directory. First copy the this\n","# file so that any local changes will be ignored by git\n","#\n","# $ mkdir build\n","# $ cp cmake/config.cmake build\n","#\n","# Next modify the according entries, and then compile by\n","#\n","# $ cd build\n","# $ cmake ..\n","#\n","# Then build in parallel with 8 threads\n","#\n","# $ make -j8\n","#--------------------------------------------------------------------\n","\n","#---------------------------------------------\n","# Backend runtimes.\n","#---------------------------------------------\n","\n","# Whether enable CUDA during compile,\n","#\n","# Possible values:\n","# - ON: enable CUDA with cmake's auto search\n","# - OFF: disable CUDA\n","# - /path/to/cuda: use specific path to cuda toolkit\n","set(USE_CUDA ON)\n","\n","# Whether enable ROCM runtime\n","#\n","# Possible values:\n","# - ON: enable ROCM with cmake's auto search\n","# - OFF: disable ROCM\n","# - /path/to/rocm: use specific path to rocm\n","set(USE_ROCM OFF)\n","\n","# Whether enable SDAccel runtime\n","set(USE_SDACCEL OFF)\n","\n","# Whether enable Intel FPGA SDK for OpenCL (AOCL) runtime\n","set(USE_AOCL OFF)\n","\n","# Whether enable OpenCL runtime\n","set(USE_OPENCL OFF)\n","\n","# Whether enable Metal runtime\n","set(USE_METAL OFF)\n","\n","# Whether enable Vulkan runtime\n","#\n","# Possible values:\n","# - ON: enable Vulkan with cmake's auto search\n","# - OFF: disable vulkan\n","# - /path/to/vulkan-sdk: use specific path to vulkan-sdk\n","set(USE_VULKAN OFF)\n","\n","# Whether enable OpenGL runtime\n","set(USE_OPENGL OFF)\n","\n","# Whether enable MicroTVM runtime\n","set(USE_MICRO OFF)\n","\n","# Whether to enable SGX runtime\n","#\n","# Possible values for USE_SGX:\n","# - /path/to/sgxsdk: path to Intel SGX SDK\n","# - OFF: disable SGX\n","#\n","# SGX_MODE := HW|SIM\n","set(USE_SGX OFF)\n","set(SGX_MODE \"SIM\")\n","set(RUST_SGX_SDK \"/path/to/rust-sgx-sdk\")\n","\n","# Whether enable RPC runtime\n","set(USE_RPC ON)\n","\n","# Whether embed stackvm into the runtime\n","set(USE_STACKVM_RUNTIME OFF)\n","\n","# Whether enable tiny embedded graph runtime.\n","set(USE_GRAPH_RUNTIME ON)\n","\n","# Whether enable additional graph debug functions\n","set(USE_GRAPH_RUNTIME_DEBUG OFF)\n","\n","# Whether enable additional vm profiler functions\n","set(USE_VM_PROFILER OFF)\n","\n","# Whether enable uTVM standalone runtime\n","set(USE_MICRO_STANDALONE_RUNTIME OFF)\n","\n","# Whether build with LLVM support\n","# Requires LLVM version >= 4.0\n","#\n","# Possible values:\n","# - ON: enable llvm with cmake's find search\n","# - OFF: disable llvm\n","# - /path/to/llvm-config: enable specific LLVM when multiple llvm-dev is available.\n","set(USE_LLVM ON)\n","\n","#---------------------------------------------\n","# Contrib libraries\n","#---------------------------------------------\n","# Whether use BLAS, choices: openblas, mkl, atlas, apple\n","set(USE_BLAS none)\n","\n","# /path/to/mkl: mkl root path when use mkl blas library\n","# set(USE_MKL_PATH /opt/intel/mkl) for UNIX\n","# set(USE_MKL_PATH ../IntelSWTools/compilers_and_libraries_2018/windows/mkl) for WIN32\n","# set(USE_MKL_PATH ) if using `pip install mkl`\n","set(USE_MKL_PATH none)\n","\n","# Whether use MKLDNN library, choices: ON, OFF, path to mkldnn library\n","set(USE_MKLDNN OFF)\n","\n","# Whether use OpenMP thread pool, choices: gnu, intel\n","# Note: \"gnu\" uses gomp library, \"intel\" uses iomp5 library\n","set(USE_OPENMP none)\n","\n","# Whether use contrib.random in runtime\n","set(USE_RANDOM OFF)\n","\n","# Whether use NNPack\n","set(USE_NNPACK OFF)\n","\n","# Possible values:\n","# - ON: enable tflite with cmake's find search\n","# - OFF: disable tflite\n","# - /path/to/libtensorflow-lite.a: use specific path to tensorflow lite library\n","set(USE_TFLITE OFF)\n","\n","# /path/to/tensorflow: tensorflow root path when use tflite library\n","set(USE_TENSORFLOW_PATH none)\n","\n","# Possible values:\n","# - OFF: disable tflite support for edgetpu\n","# - /path/to/edgetpu: use specific path to edgetpu library\n","set(USE_EDGETPU OFF)\n","\n","# Whether use CuDNN\n","set(USE_CUDNN ON)\n","\n","# Whether use cuBLAS\n","set(USE_CUBLAS OFF)\n","\n","# Whether use MIOpen\n","set(USE_MIOPEN OFF)\n","\n","# Whether use MPS\n","set(USE_MPS OFF)\n","\n","# Whether use rocBlas\n","set(USE_ROCBLAS OFF)\n","\n","# Whether use contrib sort\n","set(USE_SORT ON)\n","\n","# Whether use MKL-DNN (DNNL) codegen\n","set(USE_DNNL_CODEGEN OFF)\n","\n","# Build ANTLR parser for Relay text format\n","# Possible values:\n","# - ON: enable ANTLR by searching default locations (cmake find_program for antlr4 and /usr/local for jar)\n","# - OFF: disable ANTLR\n","# - /path/to/antlr-*-complete.jar: path to specific ANTLR jar file\n","set(USE_ANTLR OFF)\n","\n","# Whether use Relay debug mode\n","set(USE_RELAY_DEBUG OFF)\n","\n","# Whether to build fast VTA simulator driver\n","set(USE_VTA_FSIM OFF)\n","\n","# Whether to build cycle-accurate VTA simulator driver\n","set(USE_VTA_TSIM ON)\n","\n","# Whether to build VTA FPGA driver (device side only)\n","set(USE_VTA_FPGA OFF)\n","\n","# Whether to build the example external runtime module\n","set(USE_EXAMPLE_EXT_RUNTIME OFF)\n","\n","# Whether use Thrust\n","set(USE_THRUST OFF)\n","\n","# Whether to build the TensorFlow TVMDSOOp module\n","set(USE_TF_TVMDSOOP OFF)\n","\n","# Whether to use hexagon device\n","set(USE_HEXAGON_DEVICE OFF)\n","set(USE_HEXAGON_SDK /path/to/sdk)\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"colab_type":"code","id":"67PfNCAsXUwL","outputId":"bcb8b0ba-4e8a-4ae6-e677-44e30b57d25a","executionInfo":{"status":"ok","timestamp":1586924485714,"user_tz":300,"elapsed":118154,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"colab":{"base_uri":"https://localhost:8080/","height":851}},"source":["%%bash\n","[[ ! -e /tools/google-cloud-sdk ]] && exit \n","echo \"Running CMake ...\"\n","cd \"/content/gdrive/My Drive/tvm/build\"\n","cmake .."],"execution_count":5,"outputs":[{"output_type":"stream","text":["Running CMake ...\n","-- Build with RPC support...\n","-- Build with Graph runtime support...\n","-- VTA build with VTA_HW_PATH=/content/gdrive/My Drive/tvm/3rdparty/vta-hw\n","-- Build VTA runtime with target: sim\n","-- Found CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda\n","-- Found CUDA_CUDA_LIBRARY=/usr/local/cuda/targets/x86_64-linux/lib/stubs/libcuda.so\n","-- Found CUDA_CUDART_LIBRARY=/usr/local/cuda/lib64/libcudart.so\n","-- Found CUDA_NVRTC_LIBRARY=/usr/local/cuda/lib64/libnvrtc.so\n","-- Found CUDA_CUDNN_LIBRARY=/usr/lib/x86_64-linux-gnu/libcudnn.so\n","-- Found CUDA_CUBLAS_LIBRARY=/usr/lib/x86_64-linux-gnu/libcublas.so\n","-- Found CUDA_CUBLASLT_LIBRARY=CUDA_CUBLASLT_LIBRARY-NOTFOUND\n","-- Build with CUDA support\n","-- Build with cuDNN support\n","-- Link with dynamic LLVM library\n","-- Found LLVM_INCLUDE_DIRS=/usr/lib/llvm-6.0/include\n","-- Found LLVM_DEFINITIONS=-D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS\n","-- Found TVM_LLVM_VERSION=60\n","-- Build with LLVM 6.0.0\n","-- Set TVM_LLVM_VERSION=60\n","-- Build with contrib.sort\n","-- Build with contrib.hybriddump\n","-- Build with c++14\n","-- Build with thread support...\n","-- Configuring done\n","-- Generating done\n","-- Build files have been written to: /content/gdrive/My Drive/tvm/build\n"],"name":"stdout"},{"output_type":"stream","text":["CMake Warning (dev) at /usr/local/lib/python2.7/dist-packages/cmake/data/share/cmake-3.12/Modules/FindOpenGL.cmake:270 (message):\n"," Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when\n"," available. Run \"cmake --help-policy CMP0072\" for policy details. Use the\n"," cmake_policy command to set the policy and suppress this warning.\n","\n"," FindOpenGL found both a legacy GL library:\n","\n"," OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so\n","\n"," and GLVND libraries for OpenGL and GLX:\n","\n"," OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so\n"," OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so\n","\n"," OpenGL_GL_PREFERENCE has not been set to \"GLVND\" or \"LEGACY\", so for\n"," compatibility with CMake 3.10 and below the legacy GL library will be used.\n","Call Stack (most recent call first):\n"," cmake/modules/OpenGL.cmake:18 (find_package)\n"," CMakeLists.txt:281 (include)\n","This warning is for project developers. Use -Wno-dev to suppress it.\n","\n"],"name":"stderr"}]},{"cell_type":"code","metadata":{"colab_type":"code","id":"I7TdPtnqaOuJ","outputId":"5ba24b8d-d89e-44f7-baa2-5cc11a05fed3","executionInfo":{"status":"ok","timestamp":1586924500504,"user_tz":300,"elapsed":131439,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"colab":{"base_uri":"https://localhost:8080/","height":104}},"source":["%%bash\n","[[ ! -e /tools/google-cloud-sdk ]] && exit \n","echo \"Building TVM ...\"\n","cd \"/content/gdrive/My Drive/tvm/build\"\n","make -j4"],"execution_count":6,"outputs":[{"output_type":"stream","text":["Building TVM ...\n","[ 7%] Built target tvm_runtime\n","[ 9%] Built target vta_tsim\n","[ 95%] Built target tvm\n","[ 98%] Built target tvm_topi\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"colab_type":"code","id":"c_VfoQx0gVVZ","outputId":"53dd3b79-cefc-4fc3-d78e-c9334122764b","executionInfo":{"status":"ok","timestamp":1586924991234,"user_tz":300,"elapsed":30472,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"colab":{"base_uri":"https://localhost:8080/","height":1000}},"source":["%%bash\n","[[ ! -e /tools/google-cloud-sdk ]] && exit \n","echo \"Installing Python libraries ...\"\n","cd \"/content/gdrive/My Drive/tvm/\"\n","cd python; python setup.py install; cd ..\n","cd topi/python; python setup.py install"],"execution_count":9,"outputs":[{"output_type":"stream","text":["Installing Python libraries ...\n","running install\n","running bdist_egg\n","running egg_info\n","writing tvm.egg-info/PKG-INFO\n","writing dependency_links to tvm.egg-info/dependency_links.txt\n","writing requirements to tvm.egg-info/requires.txt\n","writing top-level names to tvm.egg-info/top_level.txt\n","writing manifest file 'tvm.egg-info/SOURCES.txt'\n","installing library code to build/bdist.linux-x86_64/egg\n","running install_lib\n","running build_py\n","running build_ext\n","creating build/bdist.linux-x86_64/egg\n","creating build/bdist.linux-x86_64/egg/tvm\n","copying build/lib.linux-x86_64-3.6/tvm/__init__.py -> build/bdist.linux-x86_64/egg/tvm\n","copying build/lib.linux-x86_64-3.6/tvm/error.py -> build/bdist.linux-x86_64/egg/tvm\n","copying build/lib.linux-x86_64-3.6/tvm/generic.py -> build/bdist.linux-x86_64/egg/tvm\n","copying build/lib.linux-x86_64-3.6/tvm/testing.py -> build/bdist.linux-x86_64/egg/tvm\n","creating build/bdist.linux-x86_64/egg/tvm/_ffi\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/__init__.py -> build/bdist.linux-x86_64/egg/tvm/_ffi\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/runtime_ctypes.py -> build/bdist.linux-x86_64/egg/tvm/_ffi\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/registry.py -> build/bdist.linux-x86_64/egg/tvm/_ffi\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_pyversion.py -> build/bdist.linux-x86_64/egg/tvm/_ffi\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/base.py -> build/bdist.linux-x86_64/egg/tvm/_ffi\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/libinfo.py -> build/bdist.linux-x86_64/egg/tvm/_ffi\n","creating build/bdist.linux-x86_64/egg/tvm/_ffi/_ctypes\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_ctypes/types.py -> build/bdist.linux-x86_64/egg/tvm/_ffi/_ctypes\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_ctypes/object.py -> build/bdist.linux-x86_64/egg/tvm/_ffi/_ctypes\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_ctypes/packed_func.py -> build/bdist.linux-x86_64/egg/tvm/_ffi/_ctypes\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_ctypes/__init__.py -> build/bdist.linux-x86_64/egg/tvm/_ffi/_ctypes\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_ctypes/ndarray.py -> build/bdist.linux-x86_64/egg/tvm/_ffi/_ctypes\n","creating build/bdist.linux-x86_64/egg/tvm/_ffi/_cy2\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_cy2/__init__.py -> build/bdist.linux-x86_64/egg/tvm/_ffi/_cy2\n","creating build/bdist.linux-x86_64/egg/tvm/_ffi/_cy3\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_cy3/__init__.py -> build/bdist.linux-x86_64/egg/tvm/_ffi/_cy3\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_cy3/core.cpython-36m-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/egg/tvm/_ffi/_cy3\n","creating build/bdist.linux-x86_64/egg/tvm/_ffi/_cython\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_cython/packed_func.pxi -> build/bdist.linux-x86_64/egg/tvm/_ffi/_cython\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_cython/ndarray.pxi -> build/bdist.linux-x86_64/egg/tvm/_ffi/_cython\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_cython/object.pxi -> build/bdist.linux-x86_64/egg/tvm/_ffi/_cython\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_cython/core.pyx -> build/bdist.linux-x86_64/egg/tvm/_ffi/_cython\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_cython/base.pxi -> build/bdist.linux-x86_64/egg/tvm/_ffi/_cython\n","copying build/lib.linux-x86_64-3.6/tvm/_ffi/_cython/core.cpp -> build/bdist.linux-x86_64/egg/tvm/_ffi/_cython\n","creating build/bdist.linux-x86_64/egg/tvm/arith\n","copying build/lib.linux-x86_64-3.6/tvm/arith/int_solver.py -> build/bdist.linux-x86_64/egg/tvm/arith\n","copying build/lib.linux-x86_64-3.6/tvm/arith/analyzer.py -> build/bdist.linux-x86_64/egg/tvm/arith\n","copying build/lib.linux-x86_64-3.6/tvm/arith/bound.py -> build/bdist.linux-x86_64/egg/tvm/arith\n","copying build/lib.linux-x86_64-3.6/tvm/arith/__init__.py -> build/bdist.linux-x86_64/egg/tvm/arith\n","copying build/lib.linux-x86_64-3.6/tvm/arith/pattern.py -> build/bdist.linux-x86_64/egg/tvm/arith\n","copying build/lib.linux-x86_64-3.6/tvm/arith/int_set.py -> build/bdist.linux-x86_64/egg/tvm/arith\n","copying build/lib.linux-x86_64-3.6/tvm/arith/_ffi_api.py -> build/bdist.linux-x86_64/egg/tvm/arith\n","creating build/bdist.linux-x86_64/egg/tvm/autotvm\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/__init__.py -> build/bdist.linux-x86_64/egg/tvm/autotvm\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/database.py -> build/bdist.linux-x86_64/egg/tvm/autotvm\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/feature.py -> build/bdist.linux-x86_64/egg/tvm/autotvm\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/env.py -> build/bdist.linux-x86_64/egg/tvm/autotvm\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/tophub.py -> build/bdist.linux-x86_64/egg/tvm/autotvm\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/record.py -> build/bdist.linux-x86_64/egg/tvm/autotvm\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/util.py -> build/bdist.linux-x86_64/egg/tvm/autotvm\n","creating build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/graph_tuner/pbqp_tuner.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/graph_tuner/dynamic_programming_tuner.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/graph_tuner/dynamic_programming_stage.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/graph_tuner/__init__.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/graph_tuner/_base.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/graph_tuner/base_graph_tuner.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner\n","creating build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner/utils\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/graph_tuner/utils/traverse_graph.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner/utils\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/graph_tuner/utils/__init__.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner/utils\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/graph_tuner/utils/utils.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner/utils\n","creating build/bdist.linux-x86_64/egg/tvm/autotvm/measure\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/measure/local_executor.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/measure\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/measure/measure_methods.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/measure\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/measure/measure.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/measure\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/measure/executor.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/measure\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/measure/__init__.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/measure\n","creating build/bdist.linux-x86_64/egg/tvm/autotvm/task\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/task/space.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/task\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/task/task.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/task\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/task/relay_integration.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/task\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/task/__init__.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/task\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/task/code_hash.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/task\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/task/topi_integration.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/task\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/task/dispatcher.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/task\n","creating build/bdist.linux-x86_64/egg/tvm/autotvm/tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/tuner/metric.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/tuner/tuner.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/tuner/model_based_tuner.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/tuner/sa_model_optimizer.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/tuner/index_based_tuner.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/tuner/xgboost_tuner.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/tuner/ga_tuner.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/tuner/__init__.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/tuner/callback.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/tuner\n","copying build/lib.linux-x86_64-3.6/tvm/autotvm/tuner/xgboost_cost_model.py -> build/bdist.linux-x86_64/egg/tvm/autotvm/tuner\n","creating build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/cc.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/cblas.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/cublas.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/cublaslt.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/clang.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/download.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/__init__.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/binutil.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/dlpack.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/cudnn.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/tedd.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/spirv.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/mxnet.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/sparse.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/rocblas.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/ndk.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/graph_runtime.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/mps.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/peak.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/pickle_memoize.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/tar.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/nvcc.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/nnpack.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/rocm.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/xcode.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/emscripten.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/rpc.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/miopen.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/sdaccel.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/random.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/tflite_runtime.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/util.py -> build/bdist.linux-x86_64/egg/tvm/contrib\n","creating build/bdist.linux-x86_64/egg/tvm/contrib/debugger\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/debugger/__init__.py -> build/bdist.linux-x86_64/egg/tvm/contrib/debugger\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/debugger/debug_result.py -> build/bdist.linux-x86_64/egg/tvm/contrib/debugger\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/debugger/debug_runtime.py -> build/bdist.linux-x86_64/egg/tvm/contrib/debugger\n","creating build/bdist.linux-x86_64/egg/tvm/contrib/tf_op\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/tf_op/module.py -> build/bdist.linux-x86_64/egg/tvm/contrib/tf_op\n","copying build/lib.linux-x86_64-3.6/tvm/contrib/tf_op/__init__.py -> build/bdist.linux-x86_64/egg/tvm/contrib/tf_op\n","creating build/bdist.linux-x86_64/egg/tvm/driver\n","copying build/lib.linux-x86_64-3.6/tvm/driver/build_module.py -> build/bdist.linux-x86_64/egg/tvm/driver\n","copying build/lib.linux-x86_64-3.6/tvm/driver/__init__.py -> build/bdist.linux-x86_64/egg/tvm/driver\n","creating build/bdist.linux-x86_64/egg/tvm/exec\n","copying build/lib.linux-x86_64-3.6/tvm/exec/rpc_tracker.py -> build/bdist.linux-x86_64/egg/tvm/exec\n","copying build/lib.linux-x86_64-3.6/tvm/exec/rpc_proxy.py -> build/bdist.linux-x86_64/egg/tvm/exec\n","copying build/lib.linux-x86_64-3.6/tvm/exec/measure_peak.py -> build/bdist.linux-x86_64/egg/tvm/exec\n","copying build/lib.linux-x86_64-3.6/tvm/exec/autotvm_log_editor.py -> build/bdist.linux-x86_64/egg/tvm/exec\n","copying build/lib.linux-x86_64-3.6/tvm/exec/__init__.py -> build/bdist.linux-x86_64/egg/tvm/exec\n","copying build/lib.linux-x86_64-3.6/tvm/exec/rpc_server.py -> build/bdist.linux-x86_64/egg/tvm/exec\n","copying build/lib.linux-x86_64-3.6/tvm/exec/query_rpc_tracker.py -> build/bdist.linux-x86_64/egg/tvm/exec\n","creating build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/_ffi_transform_api.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/base.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/json_compact.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/function.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/__init__.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/type.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/adt.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/container.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/module.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/transform.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/tensor_type.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/expr.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/type_relation.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/_ffi_api.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","copying build/lib.linux-x86_64-3.6/tvm/ir/attrs.py -> build/bdist.linux-x86_64/egg/tvm/ir\n","creating build/bdist.linux-x86_64/egg/tvm/micro\n","copying build/lib.linux-x86_64-3.6/tvm/micro/base.py -> build/bdist.linux-x86_64/egg/tvm/micro\n","copying build/lib.linux-x86_64-3.6/tvm/micro/__init__.py -> build/bdist.linux-x86_64/egg/tvm/micro\n","creating build/bdist.linux-x86_64/egg/tvm/micro/device\n","copying build/lib.linux-x86_64-3.6/tvm/micro/device/base.py -> build/bdist.linux-x86_64/egg/tvm/micro/device\n","copying build/lib.linux-x86_64-3.6/tvm/micro/device/__init__.py -> build/bdist.linux-x86_64/egg/tvm/micro/device\n","copying build/lib.linux-x86_64-3.6/tvm/micro/device/host.py -> build/bdist.linux-x86_64/egg/tvm/micro/device\n","copying build/lib.linux-x86_64-3.6/tvm/micro/device/riscv_spike.py -> build/bdist.linux-x86_64/egg/tvm/micro/device\n","creating build/bdist.linux-x86_64/egg/tvm/micro/device/arm\n","copying build/lib.linux-x86_64-3.6/tvm/micro/device/arm/__init__.py -> build/bdist.linux-x86_64/egg/tvm/micro/device/arm\n","copying build/lib.linux-x86_64-3.6/tvm/micro/device/arm/stm32f746xx.py -> build/bdist.linux-x86_64/egg/tvm/micro/device/arm\n","creating build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/build_module.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/_build_module.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/debug.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/adt.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/_make.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/function.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/_parser.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/expr_functor.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/_ffi_api.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/base.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/expr.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/loops.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/prelude.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/parser.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/scope_builder.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/param_dict.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/type_functor.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","copying build/lib.linux-x86_64-3.6/tvm/relay/ty.py -> build/bdist.linux-x86_64/egg/tvm/relay\n","creating build/bdist.linux-x86_64/egg/tvm/relay/analysis\n","copying build/lib.linux-x86_64-3.6/tvm/relay/analysis/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/analysis\n","copying build/lib.linux-x86_64-3.6/tvm/relay/analysis/call_graph.py -> build/bdist.linux-x86_64/egg/tvm/relay/analysis\n","copying build/lib.linux-x86_64-3.6/tvm/relay/analysis/feature.py -> build/bdist.linux-x86_64/egg/tvm/relay/analysis\n","copying build/lib.linux-x86_64-3.6/tvm/relay/analysis/_ffi_api.py -> build/bdist.linux-x86_64/egg/tvm/relay/analysis\n","copying build/lib.linux-x86_64-3.6/tvm/relay/analysis/annotated_regions.py -> build/bdist.linux-x86_64/egg/tvm/relay/analysis\n","copying build/lib.linux-x86_64-3.6/tvm/relay/analysis/analysis.py -> build/bdist.linux-x86_64/egg/tvm/relay/analysis\n","creating build/bdist.linux-x86_64/egg/tvm/relay/backend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/backend/_backend.py -> build/bdist.linux-x86_64/egg/tvm/relay/backend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/backend/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/backend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/backend/compile_engine.py -> build/bdist.linux-x86_64/egg/tvm/relay/backend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/backend/vm.py -> build/bdist.linux-x86_64/egg/tvm/relay/backend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/backend/_vm.py -> build/bdist.linux-x86_64/egg/tvm/relay/backend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/backend/interpreter.py -> build/bdist.linux-x86_64/egg/tvm/relay/backend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/backend/graph_runtime_codegen.py -> build/bdist.linux-x86_64/egg/tvm/relay/backend\n","creating build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/tflite.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/tensorflow.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/qnn_torch.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/util.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/coreml.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/mxnet.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/mxnet_qnn_op_utils.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/nnvm_common.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/caffe2.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/pytorch.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/common.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/keras.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/darknet.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/tensorflow_parser.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","copying build/lib.linux-x86_64-3.6/tvm/relay/frontend/onnx.py -> build/bdist.linux-x86_64/egg/tvm/relay/frontend\n","creating build/bdist.linux-x86_64/egg/tvm/relay/grammar\n","copying build/lib.linux-x86_64-3.6/tvm/relay/grammar/.gitignore -> build/bdist.linux-x86_64/egg/tvm/relay/grammar\n","copying build/lib.linux-x86_64-3.6/tvm/relay/grammar/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/grammar\n","copying build/lib.linux-x86_64-3.6/tvm/relay/grammar/Relay.g4 -> build/bdist.linux-x86_64/egg/tvm/relay/grammar\n","creating build/bdist.linux-x86_64/egg/tvm/relay/grammar/py3\n","copying build/lib.linux-x86_64-3.6/tvm/relay/grammar/py3/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/grammar/py3\n","copying build/lib.linux-x86_64-3.6/tvm/relay/grammar/py3/.gitattributes -> build/bdist.linux-x86_64/egg/tvm/relay/grammar/py3\n","copying build/lib.linux-x86_64-3.6/tvm/relay/grammar/py3/RelayLexer.py -> build/bdist.linux-x86_64/egg/tvm/relay/grammar/py3\n","copying build/lib.linux-x86_64-3.6/tvm/relay/grammar/py3/RelayParser.py -> build/bdist.linux-x86_64/egg/tvm/relay/grammar/py3\n","copying build/lib.linux-x86_64-3.6/tvm/relay/grammar/py3/RelayVisitor.py -> build/bdist.linux-x86_64/egg/tvm/relay/grammar/py3\n","creating build/bdist.linux-x86_64/egg/tvm/relay/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/tensor.py -> build/bdist.linux-x86_64/egg/tvm/relay/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/_tensor.py -> build/bdist.linux-x86_64/egg/tvm/relay/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/_make.py -> build/bdist.linux-x86_64/egg/tvm/relay/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/reduce.py -> build/bdist.linux-x86_64/egg/tvm/relay/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/_reduce.py -> build/bdist.linux-x86_64/egg/tvm/relay/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/op_attrs.py -> build/bdist.linux-x86_64/egg/tvm/relay/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/_algorithm.py -> build/bdist.linux-x86_64/egg/tvm/relay/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/_tensor_grad.py -> build/bdist.linux-x86_64/egg/tvm/relay/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/transform.py -> build/bdist.linux-x86_64/egg/tvm/relay/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/_transform.py -> build/bdist.linux-x86_64/egg/tvm/relay/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/op.py -> build/bdist.linux-x86_64/egg/tvm/relay/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/algorithm.py -> build/bdist.linux-x86_64/egg/tvm/relay/op\n","creating build/bdist.linux-x86_64/egg/tvm/relay/op/annotation\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/annotation/annotation.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/annotation\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/annotation/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/annotation\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/annotation/_make.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/annotation\n","creating build/bdist.linux-x86_64/egg/tvm/relay/op/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/contrib/dnnl.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/contrib\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/contrib/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/contrib\n","creating build/bdist.linux-x86_64/egg/tvm/relay/op/image\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/image/image.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/image\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/image/_image.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/image\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/image/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/image\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/image/_make.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/image\n","creating build/bdist.linux-x86_64/egg/tvm/relay/op/memory\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/memory/memory.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/memory\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/memory/_make.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/memory\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/memory/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/memory\n","creating build/bdist.linux-x86_64/egg/tvm/relay/op/nn\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/nn/nn.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/nn\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/nn/util.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/nn\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/nn/_nn.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/nn\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/nn/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/nn\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/nn/_make.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/nn\n","creating build/bdist.linux-x86_64/egg/tvm/relay/op/strategy\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/strategy/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/strategy\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/strategy/generic.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/strategy\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/strategy/cuda.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/strategy\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/strategy/bifrost.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/strategy\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/strategy/x86.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/strategy\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/strategy/mali.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/strategy\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/strategy/arm_cpu.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/strategy\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/strategy/intel_graphics.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/strategy\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/strategy/opengl.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/strategy\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/strategy/rocm.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/strategy\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/strategy/hls.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/strategy\n","creating build/bdist.linux-x86_64/egg/tvm/relay/op/vision\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/vision/_make.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/vision\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/vision/_yolo.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/vision\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/vision/_rcnn.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/vision\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/vision/rcnn.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/vision\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/vision/nms.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/vision\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/vision/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/vision\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/vision/_vision.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/vision\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/vision/multibox.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/vision\n","copying build/lib.linux-x86_64-3.6/tvm/relay/op/vision/yolo.py -> build/bdist.linux-x86_64/egg/tvm/relay/op/vision\n","creating build/bdist.linux-x86_64/egg/tvm/relay/qnn\n","copying build/lib.linux-x86_64-3.6/tvm/relay/qnn/transform.py -> build/bdist.linux-x86_64/egg/tvm/relay/qnn\n","copying build/lib.linux-x86_64-3.6/tvm/relay/qnn/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/qnn\n","creating build/bdist.linux-x86_64/egg/tvm/relay/qnn/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/qnn/op/op.py -> build/bdist.linux-x86_64/egg/tvm/relay/qnn/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/qnn/op/qnn.py -> build/bdist.linux-x86_64/egg/tvm/relay/qnn/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/qnn/op/_make.py -> build/bdist.linux-x86_64/egg/tvm/relay/qnn/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/qnn/op/layout_conversions.py -> build/bdist.linux-x86_64/egg/tvm/relay/qnn/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/qnn/op/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/qnn/op\n","copying build/lib.linux-x86_64-3.6/tvm/relay/qnn/op/legalizations.py -> build/bdist.linux-x86_64/egg/tvm/relay/qnn/op\n","creating build/bdist.linux-x86_64/egg/tvm/relay/quantize\n","copying build/lib.linux-x86_64-3.6/tvm/relay/quantize/_partition.py -> build/bdist.linux-x86_64/egg/tvm/relay/quantize\n","copying build/lib.linux-x86_64-3.6/tvm/relay/quantize/_calibrate.py -> build/bdist.linux-x86_64/egg/tvm/relay/quantize\n","copying build/lib.linux-x86_64-3.6/tvm/relay/quantize/quantize.py -> build/bdist.linux-x86_64/egg/tvm/relay/quantize\n","copying build/lib.linux-x86_64-3.6/tvm/relay/quantize/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/quantize\n","copying build/lib.linux-x86_64-3.6/tvm/relay/quantize/_annotate.py -> build/bdist.linux-x86_64/egg/tvm/relay/quantize\n","copying build/lib.linux-x86_64-3.6/tvm/relay/quantize/kl_divergence.py -> build/bdist.linux-x86_64/egg/tvm/relay/quantize\n","copying build/lib.linux-x86_64-3.6/tvm/relay/quantize/_quantize.py -> build/bdist.linux-x86_64/egg/tvm/relay/quantize\n","creating build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/mobilenet.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/layers.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/darknet.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/yolo_detection.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/config.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/init.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/nat.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/temp_op_attr.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/vgg.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/py_converter.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/mlp.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/lstm.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/squeezenet.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/tf.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/resnet.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/inception_v3.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/dcgan.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/dqn.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","copying build/lib.linux-x86_64-3.6/tvm/relay/testing/densenet.py -> build/bdist.linux-x86_64/egg/tvm/relay/testing\n","creating build/bdist.linux-x86_64/egg/tvm/relay/transform\n","copying build/lib.linux-x86_64-3.6/tvm/relay/transform/__init__.py -> build/bdist.linux-x86_64/egg/tvm/relay/transform\n","copying build/lib.linux-x86_64-3.6/tvm/relay/transform/_ffi_api.py -> build/bdist.linux-x86_64/egg/tvm/relay/transform\n","copying build/lib.linux-x86_64-3.6/tvm/relay/transform/memory_alloc.py -> build/bdist.linux-x86_64/egg/tvm/relay/transform\n","copying build/lib.linux-x86_64-3.6/tvm/relay/transform/transform.py -> build/bdist.linux-x86_64/egg/tvm/relay/transform\n","creating build/bdist.linux-x86_64/egg/tvm/relay/std\n","copying build/lib.linux-x86_64-3.6/tvm/relay/std/gradient.rly -> build/bdist.linux-x86_64/egg/tvm/relay/std\n","copying build/lib.linux-x86_64-3.6/tvm/relay/std/core.rly -> build/bdist.linux-x86_64/egg/tvm/relay/std\n","copying build/lib.linux-x86_64-3.6/tvm/relay/std/prelude.rly -> build/bdist.linux-x86_64/egg/tvm/relay/std\n","creating build/bdist.linux-x86_64/egg/tvm/rpc\n","copying build/lib.linux-x86_64-3.6/tvm/rpc/proxy.py -> build/bdist.linux-x86_64/egg/tvm/rpc\n","copying build/lib.linux-x86_64-3.6/tvm/rpc/__init__.py -> build/bdist.linux-x86_64/egg/tvm/rpc\n","copying build/lib.linux-x86_64-3.6/tvm/rpc/tornado_util.py -> build/bdist.linux-x86_64/egg/tvm/rpc\n","copying build/lib.linux-x86_64-3.6/tvm/rpc/base.py -> build/bdist.linux-x86_64/egg/tvm/rpc\n","copying build/lib.linux-x86_64-3.6/tvm/rpc/client.py -> build/bdist.linux-x86_64/egg/tvm/rpc\n","copying build/lib.linux-x86_64-3.6/tvm/rpc/server.py -> build/bdist.linux-x86_64/egg/tvm/rpc\n","copying build/lib.linux-x86_64-3.6/tvm/rpc/tracker.py -> build/bdist.linux-x86_64/egg/tvm/rpc\n","creating build/bdist.linux-x86_64/egg/tvm/runtime\n","copying build/lib.linux-x86_64-3.6/tvm/runtime/profiler_vm.py -> build/bdist.linux-x86_64/egg/tvm/runtime\n","copying build/lib.linux-x86_64-3.6/tvm/runtime/ndarray.py -> build/bdist.linux-x86_64/egg/tvm/runtime\n","copying build/lib.linux-x86_64-3.6/tvm/runtime/_ffi_node_api.py -> build/bdist.linux-x86_64/egg/tvm/runtime\n","copying build/lib.linux-x86_64-3.6/tvm/runtime/object.py -> build/bdist.linux-x86_64/egg/tvm/runtime\n","copying build/lib.linux-x86_64-3.6/tvm/runtime/packed_func.py -> build/bdist.linux-x86_64/egg/tvm/runtime\n","copying build/lib.linux-x86_64-3.6/tvm/runtime/_ffi_api.py -> build/bdist.linux-x86_64/egg/tvm/runtime\n","copying build/lib.linux-x86_64-3.6/tvm/runtime/module.py -> build/bdist.linux-x86_64/egg/tvm/runtime\n","copying build/lib.linux-x86_64-3.6/tvm/runtime/__init__.py -> build/bdist.linux-x86_64/egg/tvm/runtime\n","copying build/lib.linux-x86_64-3.6/tvm/runtime/container.py -> build/bdist.linux-x86_64/egg/tvm/runtime\n","copying build/lib.linux-x86_64-3.6/tvm/runtime/object_generic.py -> build/bdist.linux-x86_64/egg/tvm/runtime\n","copying build/lib.linux-x86_64-3.6/tvm/runtime/vm.py -> build/bdist.linux-x86_64/egg/tvm/runtime\n","creating build/bdist.linux-x86_64/egg/tvm/target\n","copying build/lib.linux-x86_64-3.6/tvm/target/_ffi_api.py -> build/bdist.linux-x86_64/egg/tvm/target\n","copying build/lib.linux-x86_64-3.6/tvm/target/datatype.py -> build/bdist.linux-x86_64/egg/tvm/target\n","copying build/lib.linux-x86_64-3.6/tvm/target/intrin.py -> build/bdist.linux-x86_64/egg/tvm/target\n","copying build/lib.linux-x86_64-3.6/tvm/target/__init__.py -> build/bdist.linux-x86_64/egg/tvm/target\n","copying build/lib.linux-x86_64-3.6/tvm/target/generic_func.py -> build/bdist.linux-x86_64/egg/tvm/target\n","copying build/lib.linux-x86_64-3.6/tvm/target/build_config.py -> build/bdist.linux-x86_64/egg/tvm/target\n","copying build/lib.linux-x86_64-3.6/tvm/target/target.py -> build/bdist.linux-x86_64/egg/tvm/target\n","copying build/lib.linux-x86_64-3.6/tvm/target/codegen.py -> build/bdist.linux-x86_64/egg/tvm/target\n","creating build/bdist.linux-x86_64/egg/tvm/te\n","copying build/lib.linux-x86_64-3.6/tvm/te/__init__.py -> build/bdist.linux-x86_64/egg/tvm/te\n","copying build/lib.linux-x86_64-3.6/tvm/te/tag.py -> build/bdist.linux-x86_64/egg/tvm/te\n","copying build/lib.linux-x86_64-3.6/tvm/te/tensor.py -> build/bdist.linux-x86_64/egg/tvm/te\n","copying build/lib.linux-x86_64-3.6/tvm/te/operation.py -> build/bdist.linux-x86_64/egg/tvm/te\n","copying build/lib.linux-x86_64-3.6/tvm/te/_ffi_api.py -> build/bdist.linux-x86_64/egg/tvm/te\n","copying build/lib.linux-x86_64-3.6/tvm/te/autodiff.py -> build/bdist.linux-x86_64/egg/tvm/te\n","copying build/lib.linux-x86_64-3.6/tvm/te/schedule.py -> build/bdist.linux-x86_64/egg/tvm/te\n","copying build/lib.linux-x86_64-3.6/tvm/te/tensor_intrin.py -> build/bdist.linux-x86_64/egg/tvm/te\n","creating build/bdist.linux-x86_64/egg/tvm/te/hybrid\n","copying build/lib.linux-x86_64-3.6/tvm/te/hybrid/parser.py -> build/bdist.linux-x86_64/egg/tvm/te/hybrid\n","copying build/lib.linux-x86_64-3.6/tvm/te/hybrid/calls.py -> build/bdist.linux-x86_64/egg/tvm/te/hybrid\n","copying build/lib.linux-x86_64-3.6/tvm/te/hybrid/__init__.py -> build/bdist.linux-x86_64/egg/tvm/te/hybrid\n","copying build/lib.linux-x86_64-3.6/tvm/te/hybrid/util.py -> build/bdist.linux-x86_64/egg/tvm/te/hybrid\n","copying build/lib.linux-x86_64-3.6/tvm/te/hybrid/preprocessor.py -> build/bdist.linux-x86_64/egg/tvm/te/hybrid\n","copying build/lib.linux-x86_64-3.6/tvm/te/hybrid/runtime.py -> build/bdist.linux-x86_64/egg/tvm/te/hybrid\n","copying build/lib.linux-x86_64-3.6/tvm/te/hybrid/module.py -> build/bdist.linux-x86_64/egg/tvm/te/hybrid\n","creating build/bdist.linux-x86_64/egg/tvm/tir\n","copying build/lib.linux-x86_64-3.6/tvm/tir/__init__.py -> build/bdist.linux-x86_64/egg/tvm/tir\n","copying build/lib.linux-x86_64-3.6/tvm/tir/data_layout.py -> build/bdist.linux-x86_64/egg/tvm/tir\n","copying build/lib.linux-x86_64-3.6/tvm/tir/op.py -> build/bdist.linux-x86_64/egg/tvm/tir\n","copying build/lib.linux-x86_64-3.6/tvm/tir/stmt.py -> build/bdist.linux-x86_64/egg/tvm/tir\n","copying build/lib.linux-x86_64-3.6/tvm/tir/expr.py -> build/bdist.linux-x86_64/egg/tvm/tir\n","copying build/lib.linux-x86_64-3.6/tvm/tir/buffer.py -> build/bdist.linux-x86_64/egg/tvm/tir\n","copying build/lib.linux-x86_64-3.6/tvm/tir/function.py -> build/bdist.linux-x86_64/egg/tvm/tir\n","copying build/lib.linux-x86_64-3.6/tvm/tir/ir_builder.py -> build/bdist.linux-x86_64/egg/tvm/tir\n","copying build/lib.linux-x86_64-3.6/tvm/tir/ir_pass.py -> build/bdist.linux-x86_64/egg/tvm/tir\n","copying build/lib.linux-x86_64-3.6/tvm/tir/_ffi_api.py -> build/bdist.linux-x86_64/egg/tvm/tir\n","copying build/lib.linux-x86_64-3.6/tvm/tir/generic.py -> build/bdist.linux-x86_64/egg/tvm/tir\n","creating build/bdist.linux-x86_64/egg/tvm/tir/analysis\n","copying build/lib.linux-x86_64-3.6/tvm/tir/analysis/__init__.py -> build/bdist.linux-x86_64/egg/tvm/tir/analysis\n","copying build/lib.linux-x86_64-3.6/tvm/tir/analysis/_ffi_api.py -> build/bdist.linux-x86_64/egg/tvm/tir/analysis\n","copying build/lib.linux-x86_64-3.6/tvm/tir/analysis/analysis.py -> build/bdist.linux-x86_64/egg/tvm/tir/analysis\n","creating build/bdist.linux-x86_64/egg/tvm/tir/transform\n","copying build/lib.linux-x86_64-3.6/tvm/tir/transform/__init__.py -> build/bdist.linux-x86_64/egg/tvm/tir/transform\n","copying build/lib.linux-x86_64-3.6/tvm/tir/transform/function_pass.py -> build/bdist.linux-x86_64/egg/tvm/tir/transform\n","copying build/lib.linux-x86_64-3.6/tvm/tir/transform/transform.py -> build/bdist.linux-x86_64/egg/tvm/tir/transform\n","copying build/lib.linux-x86_64-3.6/tvm/tir/transform/_ffi_api.py -> build/bdist.linux-x86_64/egg/tvm/tir/transform\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/error.py to error.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/generic.py to generic.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/testing.py to testing.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/runtime_ctypes.py to runtime_ctypes.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/registry.py to registry.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/_pyversion.py to _pyversion.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/base.py to base.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/libinfo.py to libinfo.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/_ctypes/types.py to types.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/_ctypes/object.py to object.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/_ctypes/packed_func.py to packed_func.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/_ctypes/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/_ctypes/ndarray.py to ndarray.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/_cy2/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/_cy3/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/arith/int_solver.py to int_solver.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/arith/analyzer.py to analyzer.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/arith/bound.py to bound.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/arith/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/arith/pattern.py to pattern.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/arith/int_set.py to int_set.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/arith/_ffi_api.py to _ffi_api.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/database.py to database.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/feature.py to feature.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/env.py to env.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/tophub.py to tophub.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/record.py to record.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/util.py to util.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner/pbqp_tuner.py to pbqp_tuner.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner/dynamic_programming_tuner.py to dynamic_programming_tuner.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner/dynamic_programming_stage.py to dynamic_programming_stage.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner/_base.py to _base.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner/base_graph_tuner.py to base_graph_tuner.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner/utils/traverse_graph.py to traverse_graph.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner/utils/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/graph_tuner/utils/utils.py to utils.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/measure/local_executor.py to local_executor.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/measure/measure_methods.py to measure_methods.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/measure/measure.py to measure.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/measure/executor.py to executor.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/measure/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/task/space.py to space.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/task/task.py to task.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/task/relay_integration.py to relay_integration.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/task/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/task/code_hash.py to code_hash.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/task/topi_integration.py to topi_integration.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/task/dispatcher.py to dispatcher.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/tuner/metric.py to metric.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/tuner/tuner.py to tuner.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/tuner/model_based_tuner.py to model_based_tuner.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/tuner/sa_model_optimizer.py to sa_model_optimizer.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/tuner/index_based_tuner.py to index_based_tuner.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/tuner/xgboost_tuner.py to xgboost_tuner.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/tuner/ga_tuner.py to ga_tuner.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/tuner/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/tuner/callback.py to callback.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/autotvm/tuner/xgboost_cost_model.py to xgboost_cost_model.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/cc.py to cc.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/cblas.py to cblas.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/cublas.py to cublas.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/cublaslt.py to cublaslt.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/clang.py to clang.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/download.py to download.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/binutil.py to binutil.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/dlpack.py to dlpack.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/cudnn.py to cudnn.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/tedd.py to tedd.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/spirv.py to spirv.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/mxnet.py to mxnet.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/sparse.py to sparse.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/rocblas.py to rocblas.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/ndk.py to ndk.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/graph_runtime.py to graph_runtime.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/mps.py to mps.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/peak.py to peak.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/pickle_memoize.py to pickle_memoize.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/tar.py to tar.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/nvcc.py to nvcc.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/nnpack.py to nnpack.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/rocm.py to rocm.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/xcode.py to xcode.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/emscripten.py to emscripten.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/rpc.py to rpc.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/miopen.py to miopen.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/sdaccel.py to sdaccel.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/random.py to random.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/tflite_runtime.py to tflite_runtime.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/util.py to util.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/debugger/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/debugger/debug_result.py to debug_result.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/debugger/debug_runtime.py to debug_runtime.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/tf_op/module.py to module.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/contrib/tf_op/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/driver/build_module.py to build_module.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/driver/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/exec/rpc_tracker.py to rpc_tracker.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/exec/rpc_proxy.py to rpc_proxy.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/exec/measure_peak.py to measure_peak.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/exec/autotvm_log_editor.py to autotvm_log_editor.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/exec/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/exec/rpc_server.py to rpc_server.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/exec/query_rpc_tracker.py to query_rpc_tracker.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/_ffi_transform_api.py to _ffi_transform_api.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/base.py to base.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/json_compact.py to json_compact.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/function.py to function.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/type.py to type.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/adt.py to adt.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/container.py to container.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/module.py to module.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/transform.py to transform.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/tensor_type.py to tensor_type.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/expr.py to expr.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/type_relation.py to type_relation.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/_ffi_api.py to _ffi_api.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/ir/attrs.py to attrs.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/micro/base.py to base.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/micro/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/micro/device/base.py to base.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/micro/device/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/micro/device/host.py to host.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/micro/device/riscv_spike.py to riscv_spike.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/micro/device/arm/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/micro/device/arm/stm32f746xx.py to stm32f746xx.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/build_module.py to build_module.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/_build_module.py to _build_module.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/debug.py to debug.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/adt.py to adt.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/_make.py to _make.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/function.py to function.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/_parser.py to _parser.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/expr_functor.py to expr_functor.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/_ffi_api.py to _ffi_api.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/base.py to base.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/expr.py to expr.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/loops.py to loops.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/prelude.py to prelude.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/parser.py to parser.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/scope_builder.py to scope_builder.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/param_dict.py to param_dict.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/type_functor.py to type_functor.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/ty.py to ty.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/analysis/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/analysis/call_graph.py to call_graph.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/analysis/feature.py to feature.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/analysis/_ffi_api.py to _ffi_api.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/analysis/annotated_regions.py to annotated_regions.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/analysis/analysis.py to analysis.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/backend/_backend.py to _backend.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/backend/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/backend/compile_engine.py to compile_engine.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/backend/vm.py to vm.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/backend/_vm.py to _vm.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/backend/interpreter.py to interpreter.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/backend/graph_runtime_codegen.py to graph_runtime_codegen.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/tflite.py to tflite.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/tensorflow.py to tensorflow.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/qnn_torch.py to qnn_torch.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/util.py to util.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/coreml.py to coreml.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/mxnet.py to mxnet.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/mxnet_qnn_op_utils.py to mxnet_qnn_op_utils.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/nnvm_common.py to nnvm_common.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/caffe2.py to caffe2.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/pytorch.py to pytorch.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/common.py to common.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/keras.py to keras.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/darknet.py to darknet.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/tensorflow_parser.py to tensorflow_parser.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/frontend/onnx.py to onnx.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/grammar/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/grammar/py3/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/grammar/py3/RelayLexer.py to RelayLexer.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/grammar/py3/RelayParser.py to RelayParser.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/grammar/py3/RelayVisitor.py to RelayVisitor.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/tensor.py to tensor.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/_tensor.py to _tensor.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/_make.py to _make.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/reduce.py to reduce.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/_reduce.py to _reduce.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/op_attrs.py to op_attrs.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/_algorithm.py to _algorithm.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/_tensor_grad.py to _tensor_grad.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/transform.py to transform.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/_transform.py to _transform.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/op.py to op.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/algorithm.py to algorithm.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/annotation/annotation.py to annotation.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/annotation/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/annotation/_make.py to _make.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/contrib/dnnl.py to dnnl.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/contrib/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/image/image.py to image.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/image/_image.py to _image.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/image/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/image/_make.py to _make.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/memory/memory.py to memory.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/memory/_make.py to _make.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/memory/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/nn/nn.py to nn.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/nn/util.py to util.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/nn/_nn.py to _nn.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/nn/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/nn/_make.py to _make.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/strategy/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/strategy/generic.py to generic.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/strategy/cuda.py to cuda.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/strategy/bifrost.py to bifrost.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/strategy/x86.py to x86.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/strategy/mali.py to mali.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/strategy/arm_cpu.py to arm_cpu.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/strategy/intel_graphics.py to intel_graphics.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/strategy/opengl.py to opengl.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/strategy/rocm.py to rocm.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/strategy/hls.py to hls.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/vision/_make.py to _make.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/vision/_yolo.py to _yolo.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/vision/_rcnn.py to _rcnn.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/vision/rcnn.py to rcnn.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/vision/nms.py to nms.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/vision/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/vision/_vision.py to _vision.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/vision/multibox.py to multibox.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/op/vision/yolo.py to yolo.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/qnn/transform.py to transform.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/qnn/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/qnn/op/op.py to op.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/qnn/op/qnn.py to qnn.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/qnn/op/_make.py to _make.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/qnn/op/layout_conversions.py to layout_conversions.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/qnn/op/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/qnn/op/legalizations.py to legalizations.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/quantize/_partition.py to _partition.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/quantize/_calibrate.py to _calibrate.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/quantize/quantize.py to quantize.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/quantize/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/quantize/_annotate.py to _annotate.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/quantize/kl_divergence.py to kl_divergence.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/quantize/_quantize.py to _quantize.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/mobilenet.py to mobilenet.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/layers.py to layers.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/darknet.py to darknet.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/yolo_detection.py to yolo_detection.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/config.py to config.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/init.py to init.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/nat.py to nat.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/temp_op_attr.py to temp_op_attr.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/vgg.py to vgg.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/py_converter.py to py_converter.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/mlp.py to mlp.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/lstm.py to lstm.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/squeezenet.py to squeezenet.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/tf.py to tf.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/resnet.py to resnet.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/inception_v3.py to inception_v3.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/dcgan.py to dcgan.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/dqn.py to dqn.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/testing/densenet.py to densenet.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/transform/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/transform/_ffi_api.py to _ffi_api.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/transform/memory_alloc.py to memory_alloc.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/relay/transform/transform.py to transform.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/rpc/proxy.py to proxy.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/rpc/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/rpc/tornado_util.py to tornado_util.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/rpc/base.py to base.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/rpc/client.py to client.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/rpc/server.py to server.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/rpc/tracker.py to tracker.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/runtime/profiler_vm.py to profiler_vm.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/runtime/ndarray.py to ndarray.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/runtime/_ffi_node_api.py to _ffi_node_api.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/runtime/object.py to object.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/runtime/packed_func.py to packed_func.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/runtime/_ffi_api.py to _ffi_api.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/runtime/module.py to module.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/runtime/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/runtime/container.py to container.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/runtime/object_generic.py to object_generic.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/runtime/vm.py to vm.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/target/_ffi_api.py to _ffi_api.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/target/datatype.py to datatype.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/target/intrin.py to intrin.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/target/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/target/generic_func.py to generic_func.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/target/build_config.py to build_config.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/target/target.py to target.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/target/codegen.py to codegen.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/tag.py to tag.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/tensor.py to tensor.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/operation.py to operation.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/_ffi_api.py to _ffi_api.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/autodiff.py to autodiff.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/schedule.py to schedule.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/tensor_intrin.py to tensor_intrin.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/hybrid/parser.py to parser.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/hybrid/calls.py to calls.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/hybrid/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/hybrid/util.py to util.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/hybrid/preprocessor.py to preprocessor.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/hybrid/runtime.py to runtime.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/te/hybrid/module.py to module.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/data_layout.py to data_layout.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/op.py to op.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/stmt.py to stmt.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/expr.py to expr.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/buffer.py to buffer.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/function.py to function.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/ir_builder.py to ir_builder.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/ir_pass.py to ir_pass.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/_ffi_api.py to _ffi_api.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/generic.py to generic.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/analysis/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/analysis/_ffi_api.py to _ffi_api.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/analysis/analysis.py to analysis.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/transform/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/transform/function_pass.py to function_pass.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/transform/transform.py to transform.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/tir/transform/_ffi_api.py to _ffi_api.cpython-36.pyc\n","creating stub loader for tvm/_ffi/_cy3/core.cpython-36m-x86_64-linux-gnu.so\n","byte-compiling build/bdist.linux-x86_64/egg/tvm/_ffi/_cy3/core.py to core.cpython-36.pyc\n","installing package data to build/bdist.linux-x86_64/egg\n","running install_data\n","copying ../build/libtvm.so -> build/bdist.linux-x86_64/egg/tvm\n","copying ../build/libtvm_runtime.so -> build/bdist.linux-x86_64/egg/tvm\n","creating build/bdist.linux-x86_64/egg/EGG-INFO\n","copying tvm.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO\n","copying tvm.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n","copying tvm.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n","copying tvm.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO\n","copying tvm.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n","copying tvm.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n","writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt\n","creating 'dist/tvm-0.7.dev1-py3.6-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it\n","removing 'build/bdist.linux-x86_64/egg' (and everything under it)\n","Processing tvm-0.7.dev1-py3.6-linux-x86_64.egg\n","removing '/usr/local/lib/python3.6/dist-packages/tvm-0.7.dev1-py3.6-linux-x86_64.egg' (and everything under it)\n","creating /usr/local/lib/python3.6/dist-packages/tvm-0.7.dev1-py3.6-linux-x86_64.egg\n","Extracting tvm-0.7.dev1-py3.6-linux-x86_64.egg to /usr/local/lib/python3.6/dist-packages\n","tvm 0.7.dev1 is already the active version in easy-install.pth\n","\n","Installed /usr/local/lib/python3.6/dist-packages/tvm-0.7.dev1-py3.6-linux-x86_64.egg\n","Processing dependencies for tvm==0.7.dev1\n","Searching for psutil==5.4.8\n","Best match: psutil 5.4.8\n","Adding psutil 5.4.8 to easy-install.pth file\n","\n","Using /usr/local/lib/python3.6/dist-packages\n","Searching for attrs==19.3.0\n","Best match: attrs 19.3.0\n","Adding attrs 19.3.0 to easy-install.pth file\n","\n","Using /usr/local/lib/python3.6/dist-packages\n","Searching for decorator==4.4.2\n","Best match: decorator 4.4.2\n","Adding decorator 4.4.2 to easy-install.pth file\n","\n","Using /usr/local/lib/python3.6/dist-packages\n","Searching for numpy==1.18.2\n","Best match: numpy 1.18.2\n","Adding numpy 1.18.2 to easy-install.pth file\n","Installing f2py script to /usr/local/bin\n","Installing f2py3 script to /usr/local/bin\n","Installing f2py3.6 script to /usr/local/bin\n","\n","Using /usr/local/lib/python3.6/dist-packages\n","Finished processing dependencies for tvm==0.7.dev1\n","running install\n","running bdist_egg\n","running egg_info\n","writing topi.egg-info/PKG-INFO\n","writing dependency_links to topi.egg-info/dependency_links.txt\n","writing requirements to topi.egg-info/requires.txt\n","writing top-level names to topi.egg-info/top_level.txt\n","writing manifest file 'topi.egg-info/SOURCES.txt'\n","installing library code to build/bdist.linux-x86_64/egg\n","running install_lib\n","running build_py\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/softmax_python.py to softmax_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/conv2d_nhwc_python.py to conv2d_nhwc_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/pool3d_python.py to pool3d_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/pool1d_python.py to pool1d_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/depthwise_conv2d_python.py to depthwise_conv2d_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/trilinear_resize3d_python.py to trilinear_resize3d_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/pool_grad_python.py to pool_grad_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/roi_pool_python.py to roi_pool_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/dilate_python.py to dilate_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/roi_align_python.py to roi_align_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/conv2d_nchw_python.py to conv2d_nchw_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/conv3d_ndhwc_python.py to conv3d_ndhwc_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/conv3d_ncdhw_python.py to conv3d_ncdhw_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/common.py to common.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/adaptive_pool_python.py to adaptive_pool_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/conv1d_ncw_python.py to conv1d_ncw_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/upsampling_python.py to upsampling_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/one_hot.py to one_hot.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/conv2d_transpose_python.py to conv2d_transpose_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/space_to_depth.py to space_to_depth.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/reorg_python.py to reorg_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/conv2d_hwcn_python.py to conv2d_hwcn_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/slice_axis_python.py to slice_axis_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/conv1d_transpose_ncw_python.py to conv1d_transpose_ncw_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/depth_to_space.py to depth_to_space.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/batch_matmul.py to batch_matmul.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/l2_normalize_python.py to l2_normalize_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/lrn_python.py to lrn_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/crop_and_resize_python.py to crop_and_resize_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/testing/bilinear_resize_python.py to bilinear_resize_python.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/vision/nms.py to nms.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/vision/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/vision/reorg.py to reorg.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/vision/rcnn/roi_align.py to roi_align.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/vision/rcnn/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/vision/rcnn/roi_pool.py to roi_pool.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/vision/rcnn/proposal.py to proposal.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/vision/ssd/multibox.py to multibox.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/vision/ssd/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/binary_dense.py to binary_dense.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/conv2d_int8.py to conv2d_int8.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/conv3d.py to conv3d.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/sparse.py to sparse.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/conv2d_transpose.py to conv2d_transpose.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/conv2d.py to conv2d.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/depthwise_conv2d.py to depthwise_conv2d.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/bitserial_dense.py to bitserial_dense.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/__init__.py to __init__.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/reduction.py to reduction.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/util.py to util.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/conv1d.py to conv1d.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/conv2d_avx_common.py to conv2d_avx_common.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/pooling.py to pooling.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/conv2d_avx_1x1.py to conv2d_avx_1x1.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/conv2d_alter_op.py to conv2d_alter_op.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/injective.py to injective.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/nn.py to nn.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/binarize_pack.py to binarize_pack.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/tensor_intrin.py to tensor_intrin.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/batch_matmul.py to batch_matmul.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/dense.py to dense.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/roi_align.py to roi_align.cpython-36.pyc\n","byte-compiling build/bdist.linux-x86_64/egg/topi/x86/bitserial_conv2d.py to bitserial_conv2d.cpython-36.pyc\n","installing package data to build/bdist.linux-x86_64/egg\n","running install_data\n","copying ../../build/libtvm_topi.so -> build/bdist.linux-x86_64/egg/topi\n","creating build/bdist.linux-x86_64/egg/EGG-INFO\n","copying topi.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO\n","copying topi.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n","copying topi.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n","copying topi.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n","copying topi.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n","creating 'dist/topi-0.7.dev1-py3.6.egg' and adding 'build/bdist.linux-x86_64/egg' to it\n","removing 'build/bdist.linux-x86_64/egg' (and everything under it)\n","Processing topi-0.7.dev1-py3.6.egg\n","creating /usr/local/lib/python3.6/dist-packages/topi-0.7.dev1-py3.6.egg\n","Extracting topi-0.7.dev1-py3.6.egg to /usr/local/lib/python3.6/dist-packages\n","Adding topi 0.7.dev1 to easy-install.pth file\n","\n","Installed /usr/local/lib/python3.6/dist-packages/topi-0.7.dev1-py3.6.egg\n","Processing dependencies for topi==0.7.dev1\n","Searching for decorator==4.4.2\n","Best match: decorator 4.4.2\n","Adding decorator 4.4.2 to easy-install.pth file\n","\n","Using /usr/local/lib/python3.6/dist-packages\n","Searching for numpy==1.18.2\n","Best match: numpy 1.18.2\n","Adding numpy 1.18.2 to easy-install.pth file\n","Installing f2py script to /usr/local/bin\n","Installing f2py3 script to /usr/local/bin\n","Installing f2py3.6 script to /usr/local/bin\n","\n","Using /usr/local/lib/python3.6/dist-packages\n","Finished processing dependencies for topi==0.7.dev1\n"],"name":"stdout"},{"output_type":"stream","text":["zip_safe flag not set; analyzing archive contents...\n","topi.cpp.__pycache__.impl.cpython-36: module references __file__\n"],"name":"stderr"}]},{"cell_type":"markdown","metadata":{"colab_type":"text","id":"D6to0yixgsFd"},"source":["We will set a global variable so we can later check if we are in the Cloud notebook or running locally."]},{"cell_type":"code","metadata":{"colab_type":"code","id":"4DD4ho6KRHNA","colab":{}},"source":["try:\n"," import google.colab\n"," IN_COLAB = True\n","except:\n"," IN_COLAB = False"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"colab_type":"text","id":"-2qO4_PajP3m"},"source":["Now that we have installed everything, please restart the runtime. If you have run all the above steps you are now be ready to use TVM.\n","\n","![Restart the runtime](https://raw.githubusercontent.com/uwsampl/tutorial/master/images/restart_runtime.png?token=AAFKBPNVSTP3W677WTPD42C45RZE6)"]},{"cell_type":"code","metadata":{"colab_type":"code","id":"lWrQztEERHNE","outputId":"96c737a5-ebd3-421c-93c2-8b22f50c48fc","executionInfo":{"status":"ok","timestamp":1586925090479,"user_tz":300,"elapsed":2934,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"colab":{"base_uri":"https://localhost:8080/","height":52}},"source":["import tvm\n","print(tvm)\n","import topi\n","print(topi)"],"execution_count":1,"outputs":[{"output_type":"stream","text":["\n","\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"avlN2U0DmITf","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]}]} \ No newline at end of file diff --git a/models/mnist/from_onnx.ipynb b/models/mnist/from_onnx.ipynb deleted file mode 100644 index e12e6c8..0000000 --- a/models/mnist/from_onnx.ipynb +++ /dev/null @@ -1 +0,0 @@ -{"nbformat":4,"nbformat_minor":0,"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.6.10"},"colab":{"name":"from_onnx.ipynb","provenance":[]}},"cells":[{"cell_type":"code","metadata":{"id":"opq_VbGuroRp","colab_type":"code","colab":{}},"source":["%matplotlib inline"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"-26XUGa0roR7","colab_type":"text"},"source":["\n","Compile ONNX Models\n","===================\n","**Author**: `Joshua Z. Zhang `_\n","\n","This article is an introductory tutorial to deploy ONNX models with Relay.\n","\n","For us to begin with, ONNX package must be installed.\n","\n","A quick solution is to install protobuf compiler, and\n","\n",".. code-block:: bash\n","\n"," pip install onnx --user\n","\n","or please refer to offical site.\n","https://github.com/onnx/onnx\n","\n"]},{"cell_type":"code","metadata":{"id":"3oAX8HRarrpM","colab_type":"code","outputId":"506ce808-dc30-48a6-fa52-4131fe9bd043","executionInfo":{"status":"ok","timestamp":1586932909434,"user_tz":300,"elapsed":4192,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"colab":{"base_uri":"https://localhost:8080/","height":121}},"source":["!pip install onnx"],"execution_count":6,"outputs":[{"output_type":"stream","text":["Requirement already satisfied: onnx in /usr/local/lib/python3.6/dist-packages (1.6.0)\n","Requirement already satisfied: protobuf in /usr/local/lib/python3.6/dist-packages (from onnx) (3.10.0)\n","Requirement already satisfied: typing-extensions>=3.6.2.1 in /usr/local/lib/python3.6/dist-packages (from onnx) (3.6.6)\n","Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from onnx) (1.12.0)\n","Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from onnx) (1.18.2)\n","Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from protobuf->onnx) (46.1.3)\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"colab_type":"code","id":"R4PJa-AETUf3","colab":{}},"source":["#from google.colab import drive\n","#drive.mount('/content/gdrive', force_remount=True)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"colab_type":"code","id":"bdiA6WVx0Nuc","outputId":"a2d6be15-5334-40b0-9571-ebb1e876df93","executionInfo":{"status":"ok","timestamp":1586932968888,"user_tz":300,"elapsed":57456,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"colab":{"base_uri":"https://localhost:8080/","height":1000}},"source":["try:\n"," import google.colab\n"," IN_COLAB = True\n","except:\n"," IN_COLAB = False\n","\n","if IN_COLAB:\n"," ! gsutil cp \"gs://tvm-fcrc-binariesd5fce43e-8373-11e9-bfb6-0242ac1c0002/tvm.tar.gz\" /tmp/tvm.tar.gz\n"," ! mkdir -p /tvm\n"," ! tar -xf /tmp/tvm.tar.gz --strip-components=4 --directory /tvm\n"," ! ls -la /tvm\n"," ! bash /tvm/package.sh\n"," ! pip install onnx \n"," ! sudo apt install clang-format\n"," # ! pip install https://download.pytorch.org/whl/cu100/torch-1.1.0-cp36-cp36m-linux_x86_64.whl\n"," # ! pip3 install https://download.pytorch.org/whl/cu100/torchvision-0.3.0-cp36-cp36m-linux_x86_64.whl\n"," # Add TVM to the Python path.\n"," import sys\n"," import os\n"," sys.path.append('/tvm/python')\n"," sys.path.append('/tvm/topi/python')\n"," sys.path.append('/tvm/vta/python')\n"," os.environ['TVM_HOME'] = '/tvm'\n","else:\n"," print(\"Notebook executing locally, skipping Colab setup ...\")"],"execution_count":7,"outputs":[{"output_type":"stream","text":["Copying gs://tvm-fcrc-binariesd5fce43e-8373-11e9-bfb6-0242ac1c0002/tvm.tar.gz...\n","| [1 files][119.5 MiB/119.5 MiB] \n","Operation completed over 1 objects/119.5 MiB. \n","total 164\n","drwxr-xr-x 21 root root 4096 Apr 15 06:42 .\n","drwxr-xr-x 1 root root 4096 Apr 15 06:41 ..\n","drwx------ 8 root root 4096 May 31 2019 3rdparty\n","drwx------ 12 root root 4096 May 31 2019 apps\n","drwx------ 3 root root 4096 Jun 19 2019 build\n","drwx------ 4 root root 4096 May 31 2019 cmake\n","-rw------- 1 root root 11053 Jun 19 2019 CMakeLists.txt\n","drwx------ 6 root root 4096 May 31 2019 conda\n","-rw------- 1 root root 5736 Jun 19 2019 CONTRIBUTORS.md\n","drwx------ 3 root root 4096 May 31 2019 docker\n","drwx------ 11 root root 4096 May 31 2019 docs\n","drwx------ 4 root root 4096 May 31 2019 golang\n","drwx------ 3 root root 4096 May 31 2019 include\n","-rw------- 1 root root 10607 Jun 19 2019 Jenkinsfile\n","drwx------ 6 root root 4096 May 31 2019 jvm\n","-rw------- 1 root root 11357 Jun 19 2019 LICENSE\n","-rw------- 1 root root 4267 Jun 19 2019 Makefile\n","-rw------- 1 root root 10476 Jun 19 2019 NEWS.md\n","drwx------ 9 root root 4096 May 31 2019 nnvm\n","-rw------- 1 root root 61 Jun 19 2019 NOTICE\n","-rwx------ 1 root root 374 Jun 19 2019 package.sh\n","drwx------ 3 root root 4096 May 31 2019 python\n","-rw------- 1 root root 2705 Jun 19 2019 README.md\n","drwx------ 6 root root 4096 May 31 2019 rust\n","drwx------ 14 root root 4096 May 31 2019 src\n","drwx------ 9 root root 4096 May 31 2019 tests\n","drwx------ 7 root root 4096 May 31 2019 topi\n","drwx------ 8 root root 4096 May 31 2019 tutorials\n","-rw------- 1 root root 2902 Jun 19 2019 version.py\n","drwx------ 10 root root 4096 May 31 2019 vta\n","drwx------ 2 root root 4096 May 31 2019 web\n","Installing Dependencies ...\n","deb https://dl.bintray.com/sbt/debian /\n","Executing: /tmp/apt-key-gpghome.GaZGUzZPy2/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823\n","gpg: key 99E82A75642AC823: public key \"sbt build tool \" imported\n","gpg: Total number processed: 1\n","gpg: imported: 1\n","Get:1 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease [3,626 B]\n","Ign:2 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease\n","Get:3 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages [88.1 kB]\n","Ign:4 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 InRelease\n","Hit:5 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 Release\n","Hit:6 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 Release\n","Hit:7 http://archive.ubuntu.com/ubuntu bionic InRelease\n","Get:9 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic InRelease [21.3 kB]\n","Ign:10 https://dl.bintray.com/sbt/debian InRelease\n","Get:12 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]\n","Get:13 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]\n","Get:14 https://dl.bintray.com/sbt/debian Release [815 B]\n","Get:15 https://dl.bintray.com/sbt/debian Release.gpg [821 B]\n","Get:16 http://ppa.launchpad.net/marutter/c2d4u3.5/ubuntu bionic InRelease [15.4 kB]\n","Get:17 https://dl.bintray.com/sbt/debian Packages [4,393 B]\n","Get:18 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]\n","Get:19 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [889 kB]\n","Get:20 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu bionic/main amd64 Packages [37.4 kB]\n","Get:21 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [1,183 kB]\n","Get:22 http://ppa.launchpad.net/marutter/c2d4u3.5/ubuntu bionic/main Sources [1,811 kB]\n","Get:23 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [8,213 B]\n","Get:24 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [839 kB]\n","Get:25 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [59.0 kB]\n","Get:26 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [12.6 kB]\n","Get:27 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1,372 kB]\n","Get:28 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [44.6 kB]\n","Get:29 http://ppa.launchpad.net/marutter/c2d4u3.5/ubuntu bionic/main amd64 Packages [874 kB]\n","Fetched 7,515 kB in 7s (1,106 kB/s)\n","Reading package lists... Done\n","Reading package lists...\n","Building dependency tree...\n","Reading state information...\n","zlib1g-dev is already the newest version (1:1.2.11.dfsg-0ubuntu2).\n","zlib1g-dev set to manually installed.\n","clinfo is already the newest version (2.2.18.03.26-1).\n","libtinfo-dev is already the newest version (6.1-1ubuntu1.18.04).\n","libtinfo-dev set to manually installed.\n","Suggested packages:\n"," llvm-6.0-doc\n","The following NEW packages will be installed:\n"," binfmt-support libffi-dev llvm-6.0 llvm-6.0-dev llvm-6.0-runtime tree\n","0 upgraded, 6 newly installed, 0 to remove and 61 not upgraded.\n","Need to get 28.3 MB of archives.\n","After this operation, 178 MB of additional disk space will be used.\n","Get:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 binfmt-support amd64 2.1.8-2 [51.6 kB]\n","Get:2 http://archive.ubuntu.com/ubuntu bionic/main amd64 llvm-6.0-runtime amd64 1:6.0-1ubuntu2 [200 kB]\n","Get:3 http://archive.ubuntu.com/ubuntu bionic/main amd64 llvm-6.0 amd64 1:6.0-1ubuntu2 [4,838 kB]\n","Get:4 http://archive.ubuntu.com/ubuntu bionic/main amd64 libffi-dev amd64 3.2.1-8 [156 kB]\n","Get:5 http://archive.ubuntu.com/ubuntu bionic/main amd64 llvm-6.0-dev amd64 1:6.0-1ubuntu2 [23.0 MB]\n","Get:6 http://archive.ubuntu.com/ubuntu bionic/universe amd64 tree amd64 1.7.0-5 [40.7 kB]\n","Fetched 28.3 MB in 5s (5,243 kB/s)\n","debconf: unable to initialize frontend: Dialog\n","debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 6.)\n","debconf: falling back to frontend: Readline\n","debconf: unable to initialize frontend: Readline\n","debconf: (This frontend requires a controlling tty.)\n","debconf: falling back to frontend: Teletype\n","dpkg-preconfigure: unable to re-open stdin: \n","Selecting previously unselected package binfmt-support.\n","(Reading database ... 144568 files and directories currently installed.)\n","Preparing to unpack .../0-binfmt-support_2.1.8-2_amd64.deb ...\n","Unpacking binfmt-support (2.1.8-2) ...\n","Selecting previously unselected package llvm-6.0-runtime.\n","Preparing to unpack .../1-llvm-6.0-runtime_1%3a6.0-1ubuntu2_amd64.deb ...\n","Unpacking llvm-6.0-runtime (1:6.0-1ubuntu2) ...\n","Selecting previously unselected package llvm-6.0.\n","Preparing to unpack .../2-llvm-6.0_1%3a6.0-1ubuntu2_amd64.deb ...\n","Unpacking llvm-6.0 (1:6.0-1ubuntu2) ...\n","Selecting previously unselected package libffi-dev:amd64.\n","Preparing to unpack .../3-libffi-dev_3.2.1-8_amd64.deb ...\n","Unpacking libffi-dev:amd64 (3.2.1-8) ...\n","Selecting previously unselected package llvm-6.0-dev.\n","Preparing to unpack .../4-llvm-6.0-dev_1%3a6.0-1ubuntu2_amd64.deb ...\n","Unpacking llvm-6.0-dev (1:6.0-1ubuntu2) ...\n","Selecting previously unselected package tree.\n","Preparing to unpack .../5-tree_1.7.0-5_amd64.deb ...\n","Unpacking tree (1.7.0-5) ...\n","Setting up binfmt-support (2.1.8-2) ...\n","Created symlink /etc/systemd/system/multi-user.target.wants/binfmt-support.service → /lib/systemd/system/binfmt-support.service.\n","invoke-rc.d: could not determine current runlevel\n","invoke-rc.d: policy-rc.d denied execution of start.\n","Setting up tree (1.7.0-5) ...\n","Setting up libffi-dev:amd64 (3.2.1-8) ...\n","Setting up llvm-6.0-runtime (1:6.0-1ubuntu2) ...\n","Setting up llvm-6.0 (1:6.0-1ubuntu2) ...\n","Setting up llvm-6.0-dev (1:6.0-1ubuntu2) ...\n","Processing triggers for systemd (237-3ubuntu10.39) ...\n","Processing triggers for man-db (2.8.3-2ubuntu0.1) ...\n","Processing triggers for libc-bin (2.27-3ubuntu1) ...\n","/sbin/ldconfig.real: /usr/local/lib/python3.6/dist-packages/ideep4py/lib/libmkldnn.so.0 is not a symbolic link\n","\n","Reading package lists... Done\n","Building dependency tree \n","Reading state information... Done\n","Suggested packages:\n"," gtkwave systemc\n","The following NEW packages will be installed:\n"," sbt verilator\n","0 upgraded, 2 newly installed, 0 to remove and 61 not upgraded.\n","Need to get 4,112 kB of archives.\n","After this operation, 14.6 MB of additional disk space will be used.\n","Get:1 http://archive.ubuntu.com/ubuntu bionic/universe amd64 verilator amd64 3.916-1build1 [2,878 kB]\n","Get:2 https://dl.bintray.com/sbt/debian sbt 1.3.10 [1,233 kB]\n","Fetched 4,112 kB in 3s (1,637 kB/s)\n","debconf: unable to initialize frontend: Dialog\n","debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 2.)\n","debconf: falling back to frontend: Readline\n","debconf: unable to initialize frontend: Readline\n","debconf: (This frontend requires a controlling tty.)\n","debconf: falling back to frontend: Teletype\n","dpkg-preconfigure: unable to re-open stdin: \n","Selecting previously unselected package sbt.\n","(Reading database ... 146209 files and directories currently installed.)\n","Preparing to unpack .../archives/sbt_1.3.10_all.deb ...\n","Unpacking sbt (1.3.10) ...\n","Selecting previously unselected package verilator.\n","Preparing to unpack .../verilator_3.916-1build1_amd64.deb ...\n","Unpacking verilator (3.916-1build1) ...\n","Setting up verilator (3.916-1build1) ...\n","Setting up sbt (1.3.10) ...\n","Creating system group: sbt\n","Creating system user: sbt in sbt with sbt daemon-user and shell /bin/false\n","Processing triggers for man-db (2.8.3-2ubuntu0.1) ...\n","Requirement already satisfied: onnx in /usr/local/lib/python3.6/dist-packages (1.6.0)\n","Requirement already satisfied: typing-extensions>=3.6.2.1 in /usr/local/lib/python3.6/dist-packages (from onnx) (3.6.6)\n","Requirement already satisfied: protobuf in /usr/local/lib/python3.6/dist-packages (from onnx) (3.10.0)\n","Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from onnx) (1.18.2)\n","Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from onnx) (1.12.0)\n","Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from protobuf->onnx) (46.1.3)\n","Reading package lists... Done\n","Building dependency tree \n","Reading state information... Done\n","The following additional packages will be installed:\n"," clang-format-6.0\n","The following NEW packages will be installed:\n"," clang-format clang-format-6.0\n","0 upgraded, 2 newly installed, 0 to remove and 61 not upgraded.\n","Need to get 591 kB of archives.\n","After this operation, 1,978 kB of additional disk space will be used.\n","Get:1 http://archive.ubuntu.com/ubuntu bionic/universe amd64 clang-format-6.0 amd64 1:6.0-1ubuntu2 [588 kB]\n","Get:2 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 clang-format amd64 1:6.0-41~exp5~ubuntu1 [3,144 B]\n","Fetched 591 kB in 2s (270 kB/s)\n","debconf: unable to initialize frontend: Dialog\n","debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 2.)\n","debconf: falling back to frontend: Readline\n","debconf: unable to initialize frontend: Readline\n","debconf: (This frontend requires a controlling tty.)\n","debconf: falling back to frontend: Teletype\n","dpkg-preconfigure: unable to re-open stdin: \n","Selecting previously unselected package clang-format-6.0.\n","(Reading database ... 146302 files and directories currently installed.)\n","Preparing to unpack .../clang-format-6.0_1%3a6.0-1ubuntu2_amd64.deb ...\n","Unpacking clang-format-6.0 (1:6.0-1ubuntu2) ...\n","Selecting previously unselected package clang-format.\n","Preparing to unpack .../clang-format_1%3a6.0-41~exp5~ubuntu1_amd64.deb ...\n","Unpacking clang-format (1:6.0-41~exp5~ubuntu1) ...\n","Setting up clang-format-6.0 (1:6.0-1ubuntu2) ...\n","Setting up clang-format (1:6.0-41~exp5~ubuntu1) ...\n","Processing triggers for man-db (2.8.3-2ubuntu0.1) ...\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"colab_type":"code","id":"LOr6_sEnU34L","outputId":"f87fff76-3633-42bb-8de0-14c50f4b2fe1","executionInfo":{"status":"ok","timestamp":1586932971623,"user_tz":300,"elapsed":36024,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"colab":{"base_uri":"https://localhost:8080/","height":139}},"source":["if IN_COLAB:\n"," ! cd /; git clone https://github.com/uwsampl/relay-aot\n"," sys.path.append('/relay-aot')"],"execution_count":8,"outputs":[{"output_type":"stream","text":["Cloning into 'relay-aot'...\n","remote: Enumerating objects: 67, done.\u001b[K\n","remote: Counting objects: 100% (67/67), done.\u001b[K\n","remote: Compressing objects: 100% (47/47), done.\u001b[K\n","remote: Total 464 (delta 37), reused 33 (delta 18), pack-reused 397\u001b[K\n","Receiving objects: 100% (464/464), 92.71 KiB | 513.00 KiB/s, done.\n","Resolving deltas: 100% (261/261), done.\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"PxK3tIvGroR-","colab_type":"code","colab":{}},"source":["import onnx\n","import numpy as np\n","import tvm\n","import tvm.relay as relay\n","from tvm.contrib.download import download_testdata\n","import tvm.relay.testing\n","from tvm.relay.expr_functor import ExprMutator, ExprVisitor\n","import logging\n","logging.disable(logging.WARNING)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"2o-cihlcroSN","colab_type":"text"},"source":["Load pretrained ONNX model\n","---------------------------------------------\n","The example super resolution model used here is exactly the same model in onnx tutorial\n","http://pytorch.org/tutorials/advanced/super_resolution_with_caffe2.html\n","we skip the pytorch model construction part, and download the saved onnx model\n","\n"]},{"cell_type":"code","metadata":{"id":"O5lkHj8vlkil","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"e01b04f1-f676-4aff-d47d-0a1a9deaf4a7","executionInfo":{"status":"ok","timestamp":1586933166005,"user_tz":300,"elapsed":614,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}}},"source":["%pwd"],"execution_count":12,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'/content'"]},"metadata":{"tags":[]},"execution_count":12}]},{"cell_type":"code","metadata":{"colab_type":"code","outputId":"03477eac-382d-45a7-caeb-5569103ff843","executionInfo":{"status":"ok","timestamp":1586933295106,"user_tz":300,"elapsed":21613,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"id":"rjUcWBPLmA4j","colab":{"base_uri":"https://localhost:8080/","height":124}},"source":["from google.colab import drive\n","drive.mount('/content/gdrive')"],"execution_count":15,"outputs":[{"output_type":"stream","text":["Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&response_type=code&scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly\n","\n","Enter your authorization code:\n","··········\n","Mounted at /content/gdrive\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"xOuXqoQbmNsw","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":34},"outputId":"dbbcd250-2fce-44a5-cafb-00f183f14df9","executionInfo":{"status":"ok","timestamp":1586933330665,"user_tz":300,"elapsed":530,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}}},"source":["%pwd"],"execution_count":18,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'/content'"]},"metadata":{"tags":[]},"execution_count":18}]},{"cell_type":"code","metadata":{"id":"D9DMjSg3roSQ","colab_type":"code","colab":{}},"source":["#model_url = ''.join(['https://gist.github.com/zhreshold/',\n","# 'bcda4716699ac97ea44f791c24310193/raw/',\n","# '93672b029103648953c4e5ad3ac3aadf346a4cdc/',\n","# 'super_resolution_0.2.onnx'])\n","#model_path = download_testdata(model_url, 'super_resolution.onnx', module='onnx')\n","# now you have super_resolution.onnx on disk\n","model_path='gdrive/My Drive/mnist.onnx'\n","onnx_mnist = onnx.load(model_path)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"oT2qY5zHoVVA","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":1000},"outputId":"1aab5819-d867-4753-a982-848b29b9ab99","executionInfo":{"status":"ok","timestamp":1586933884487,"user_tz":300,"elapsed":880,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}}},"source":["onnx_mnist"],"execution_count":34,"outputs":[{"output_type":"execute_result","data":{"text/plain":["ir_version: 3\n","producer_name: \"CNTK\"\n","producer_version: \"2.5.1\"\n","domain: \"ai.cntk\"\n","model_version: 1\n","graph {\n"," node {\n"," input: \"Parameter193\"\n"," input: \"Parameter193_reshape1_shape\"\n"," output: \"Parameter193_reshape1\"\n"," name: \"Times212_reshape1\"\n"," op_type: \"Reshape\"\n"," doc_string: \"\"\n"," domain: \"\"\n"," }\n"," node {\n"," input: \"Input3\"\n"," input: \"Parameter5\"\n"," output: \"Convolution28_Output_0\"\n"," name: \"Convolution28\"\n"," op_type: \"Conv\"\n"," attribute {\n"," name: \"kernel_shape\"\n"," ints: 5\n"," ints: 5\n"," type: INTS\n"," }\n"," attribute {\n"," name: \"strides\"\n"," ints: 1\n"," ints: 1\n"," type: INTS\n"," }\n"," attribute {\n"," name: \"auto_pad\"\n"," s: \"SAME_UPPER\"\n"," type: STRING\n"," }\n"," attribute {\n"," name: \"group\"\n"," i: 1\n"," type: INT\n"," }\n"," attribute {\n"," name: \"dilations\"\n"," ints: 1\n"," ints: 1\n"," type: INTS\n"," }\n"," doc_string: \"\"\n"," domain: \"\"\n"," }\n"," node {\n"," input: \"Convolution28_Output_0\"\n"," input: \"Parameter6\"\n"," output: \"Plus30_Output_0\"\n"," name: \"Plus30\"\n"," op_type: \"Add\"\n"," doc_string: \"\"\n"," domain: \"\"\n"," }\n"," node {\n"," input: \"Plus30_Output_0\"\n"," output: \"ReLU32_Output_0\"\n"," name: \"ReLU32\"\n"," op_type: \"Relu\"\n"," doc_string: \"\"\n"," domain: \"\"\n"," }\n"," node {\n"," input: \"ReLU32_Output_0\"\n"," output: \"Pooling66_Output_0\"\n"," name: \"Pooling66\"\n"," op_type: \"MaxPool\"\n"," attribute {\n"," name: \"kernel_shape\"\n"," ints: 2\n"," ints: 2\n"," type: INTS\n"," }\n"," attribute {\n"," name: \"strides\"\n"," ints: 2\n"," ints: 2\n"," type: INTS\n"," }\n"," attribute {\n"," name: \"pads\"\n"," ints: 0\n"," ints: 0\n"," ints: 0\n"," ints: 0\n"," type: INTS\n"," }\n"," attribute {\n"," name: \"auto_pad\"\n"," s: \"NOTSET\"\n"," type: STRING\n"," }\n"," doc_string: \"\"\n"," domain: \"\"\n"," }\n"," node {\n"," input: \"Pooling66_Output_0\"\n"," input: \"Parameter87\"\n"," output: \"Convolution110_Output_0\"\n"," name: \"Convolution110\"\n"," op_type: \"Conv\"\n"," attribute {\n"," name: \"kernel_shape\"\n"," ints: 5\n"," ints: 5\n"," type: INTS\n"," }\n"," attribute {\n"," name: \"strides\"\n"," ints: 1\n"," ints: 1\n"," type: INTS\n"," }\n"," attribute {\n"," name: \"auto_pad\"\n"," s: \"SAME_UPPER\"\n"," type: STRING\n"," }\n"," attribute {\n"," name: \"group\"\n"," i: 1\n"," type: INT\n"," }\n"," attribute {\n"," name: \"dilations\"\n"," ints: 1\n"," ints: 1\n"," type: INTS\n"," }\n"," doc_string: \"\"\n"," domain: \"\"\n"," }\n"," node {\n"," input: \"Convolution110_Output_0\"\n"," input: \"Parameter88\"\n"," output: \"Plus112_Output_0\"\n"," name: \"Plus112\"\n"," op_type: \"Add\"\n"," doc_string: \"\"\n"," domain: \"\"\n"," }\n"," node {\n"," input: \"Plus112_Output_0\"\n"," output: \"ReLU114_Output_0\"\n"," name: \"ReLU114\"\n"," op_type: \"Relu\"\n"," doc_string: \"\"\n"," domain: \"\"\n"," }\n"," node {\n"," input: \"ReLU114_Output_0\"\n"," output: \"Pooling160_Output_0\"\n"," name: \"Pooling160\"\n"," op_type: \"MaxPool\"\n"," attribute {\n"," name: \"kernel_shape\"\n"," ints: 3\n"," ints: 3\n"," type: INTS\n"," }\n"," attribute {\n"," name: \"strides\"\n"," ints: 3\n"," ints: 3\n"," type: INTS\n"," }\n"," attribute {\n"," name: \"pads\"\n"," ints: 0\n"," ints: 0\n"," ints: 0\n"," ints: 0\n"," type: INTS\n"," }\n"," attribute {\n"," name: \"auto_pad\"\n"," s: \"NOTSET\"\n"," type: STRING\n"," }\n"," doc_string: \"\"\n"," domain: \"\"\n"," }\n"," node {\n"," input: \"Pooling160_Output_0\"\n"," input: \"Pooling160_Output_0_reshape0_shape\"\n"," output: \"Pooling160_Output_0_reshape0\"\n"," name: \"Times212_reshape0\"\n"," op_type: \"Reshape\"\n"," doc_string: \"\"\n"," domain: \"\"\n"," }\n"," node {\n"," input: \"Pooling160_Output_0_reshape0\"\n"," input: \"Parameter193_reshape1\"\n"," output: \"Times212_Output_0\"\n"," name: \"Times212\"\n"," op_type: \"MatMul\"\n"," doc_string: \"\"\n"," domain: \"\"\n"," }\n"," node {\n"," input: \"Times212_Output_0\"\n"," input: \"Parameter194\"\n"," output: \"Plus214_Output_0\"\n"," name: \"Plus214\"\n"," op_type: \"Add\"\n"," doc_string: \"\"\n"," domain: \"\"\n"," }\n"," name: \"CNTKGraph\"\n"," initializer {\n"," dims: 16\n"," dims: 4\n"," dims: 4\n"," dims: 10\n"," data_type: 1\n"," float_data: 0.09163288027048111\n"," float_data: 0.12143590301275253\n"," float_data: 0.0853506475687027\n"," float_data: 0.12260685861110687\n"," float_data: -0.09875397384166718\n"," float_data: -0.1121244877576828\n"," float_data: -0.03573284298181534\n"," float_data: -0.09626211225986481\n"," float_data: -0.14788731932640076\n"," float_data: 0.03485893830657005\n"," float_data: -0.048446524888277054\n"," float_data: 0.136892631649971\n"," float_data: 0.1460547000169754\n"," float_data: -0.11976931244134903\n"," float_data: 0.2080405354499817\n"," float_data: -0.22713330388069153\n"," float_data: 0.4233359098434448\n"," float_data: 0.058677203953266144\n"," float_data: -0.16731591522693634\n"," float_data: -0.37082841992378235\n"," float_data: -0.19223923981189728\n"," float_data: 0.0943201333284378\n"," float_data: 0.09369180351495743\n"," float_data: -0.010435560718178749\n"," float_data: 0.23059231042861938\n"," float_data: -0.4524573087692261\n"," float_data: 0.002500813687220216\n"," float_data: -0.012435277923941612\n"," float_data: 0.031778186559677124\n"," float_data: -0.30429312586784363\n"," float_data: 0.018025970086455345\n"," float_data: 0.024281486868858337\n"," float_data: 0.2873530089855194\n"," float_data: 0.1709904670715332\n"," float_data: -0.074394591152668\n"," float_data: 0.01766752265393734\n"," float_data: -0.10535763204097748\n"," float_data: -0.08181136846542358\n"," float_data: 0.05987928435206413\n"," float_data: 0.00047348960652016103\n"," float_data: -0.1535080373287201\n"," float_data: 0.120629221200943\n"," float_data: 0.10765989124774933\n"," float_data: 0.09445933252573013\n"," float_data: -0.06985045224428177\n"," float_data: -0.025683380663394928\n"," float_data: 0.10913115739822388\n"," float_data: -0.08317743986845016\n"," float_data: 0.08257905393838882\n"," float_data: -0.1757078617811203\n"," float_data: -0.168167844414711\n"," float_data: 0.10513986647129059\n"," float_data: -0.17431361973285675\n"," float_data: -0.08228223025798798\n"," float_data: 0.4647492468357086\n"," float_data: 0.030260585248470306\n"," float_data: -0.15933886170387268\n"," float_data: 0.19958271086215973\n"," float_data: -0.10104268789291382\n"," float_data: -0.4945407509803772\n"," float_data: 0.3295890688896179\n"," float_data: 0.17750981450080872\n"," float_data: 0.41138309240341187\n"," float_data: 0.12326130270957947\n"," float_data: -0.27575674653053284\n"," float_data: -0.4662941098213196\n"," float_data: -0.3712764084339142\n"," float_data: -0.020994601771235466\n"," float_data: -0.12800092995166779\n"," float_data: 0.04856026917695999\n"," float_data: 0.38166606426239014\n"," float_data: -0.2319786101579666\n"," float_data: 0.40788352489471436\n"," float_data: 0.02265831269323826\n"," float_data: 0.07786203920841217\n"," float_data: -0.6701842546463013\n"," float_data: -0.0611761249601841\n"," float_data: 0.0467672273516655\n"," float_data: -0.03293807432055473\n"," float_data: 0.14224782586097717\n"," float_data: -0.128555029630661\n"," float_data: 0.025974348187446594\n"," float_data: -0.008957884274423122\n"," float_data: 0.17939205467700958\n"," float_data: -0.0334603413939476\n"," float_data: -0.027158400043845177\n"," float_data: 0.13029633462429047\n"," float_data: -0.045492373406887054\n"," float_data: 0.05367948114871979\n"," float_data: 0.021849706768989563\n"," float_data: -0.0059657590463757515\n"," float_data: -0.04966728389263153\n"," float_data: -0.1589137762784958\n"," float_data: 0.10884328186511993\n"," float_data: -0.17006619274616241\n"," float_data: 0.34957271814346313\n"," float_data: -0.17430223524570465\n"," float_data: 0.1654788851737976\n"," float_data: -0.14037011563777924\n"," float_data: -0.1737338900566101\n"," float_data: -0.036601725965738297\n"," float_data: 0.04010355472564697\n"," float_data: 0.19195736944675446\n"," float_data: 0.04251663759350777\n"," float_data: -0.1638253629207611\n"," float_data: 0.4419134557247162\n"," float_data: 0.07696633040904999\n"," float_data: -0.4376426637172699\n"," float_data: 0.049478061497211456\n"," float_data: -0.23576991260051727\n"," float_data: -0.09825644642114639\n"," float_data: -0.4054715037345886\n"," float_data: -0.37302207946777344\n"," float_data: 0.2436894327402115\n"," float_data: -0.5215957760810852\n"," float_data: 0.5668888092041016\n"," float_data: 0.5552222728729248\n"," float_data: -0.10442956537008286\n"," float_data: 0.18002772331237793\n"," float_data: -0.11376107484102249\n"," float_data: -0.03965001553297043\n"," float_data: -0.11214318126440048\n"," float_data: -0.0023703111801296473\n"," float_data: -0.003144004615023732\n"," float_data: -0.10276811569929123\n"," float_data: 0.019040677696466446\n"," float_data: -0.07214156538248062\n"," float_data: -0.06295154243707657\n"," float_data: 0.08691363036632538\n"," float_data: 0.059526339173316956\n"," float_data: 0.18038588762283325\n"," float_data: 0.10787897557020187\n"," float_data: -0.19601596891880035\n"," float_data: 0.008016468025743961\n"," float_data: 0.06330039352178574\n"," float_data: 0.014802279882133007\n"," float_data: -0.07189273834228516\n"," float_data: 0.10687673836946487\n"," float_data: -0.24504677951335907\n"," float_data: 0.015252113342285156\n"," float_data: -0.335182249546051\n"," float_data: -0.03278788924217224\n"," float_data: -0.15907159447669983\n"," float_data: 0.5842293500900269\n"," float_data: -0.0735088586807251\n"," float_data: 0.5157390236854553\n"," float_data: 0.16114291548728943\n"," float_data: -0.20041143894195557\n"," float_data: 0.08611081540584564\n"," float_data: -0.26673802733421326\n"," float_data: -0.48252072930336\n"," float_data: 0.04045981541275978\n"," float_data: -0.025883780792355537\n"," float_data: 0.2995097041130066\n"," float_data: -0.21764476597309113\n"," float_data: 0.08116388320922852\n"," float_data: 0.2665603458881378\n"," float_data: -0.2901787757873535\n"," float_data: 0.2665983736515045\n"," float_data: -0.20305156707763672\n"," float_data: -0.12429767102003098\n"," float_data: 0.005965419579297304\n"," float_data: 0.2243628054857254\n"," float_data: 0.13654103875160217\n"," float_data: -0.028027368709445\n"," float_data: -0.28091877698898315\n"," float_data: 0.022815383970737457\n"," float_data: 0.06510894000530243\n"," float_data: -0.14604154229164124\n"," float_data: 0.10212377458810806\n"," float_data: -0.13724955916404724\n"," float_data: 0.056102585047483444\n"," float_data: -0.08111743628978729\n"," float_data: 0.007112065330147743\n"," float_data: -0.20668791234493256\n"," float_data: 0.11320050060749054\n"," float_data: -0.18013525009155273\n"," float_data: 0.359819233417511\n"," float_data: -0.2298140972852707\n"," float_data: 0.007774946745485067\n"," float_data: -0.21265363693237305\n"," float_data: -0.10250820219516754\n"," float_data: 0.09109640121459961\n"," float_data: 0.2713518440723419\n"," float_data: -0.14504371583461761\n"," float_data: 0.08723330497741699\n"," float_data: -0.07021252810955048\n"," float_data: 0.13583463430404663\n"," float_data: 0.11757422238588333\n"," float_data: -0.006081802770495415\n"," float_data: -0.0385749489068985\n"," float_data: 0.0859772115945816\n"," float_data: 0.0474117249250412\n"," float_data: -0.036640118807554245\n"," float_data: 0.0816631019115448\n"," float_data: 0.08421722054481506\n"," float_data: 0.1347440779209137\n"," float_data: -0.06303027272224426\n"," float_data: 0.0055456385016441345\n"," float_data: 0.07729209959506989\n"," float_data: -0.024022098630666733\n"," float_data: -0.07385796308517456\n"," float_data: 0.24266241490840912\n"," float_data: 0.2002831995487213\n"," float_data: -0.12752440571784973\n"," float_data: -0.3758249878883362\n"," float_data: -0.2573346495628357\n"," float_data: 0.170244500041008\n"," float_data: -0.07271948456764221\n"," float_data: -0.00042671075789257884\n"," float_data: -0.03506379574537277\n"," float_data: 0.25228849053382874\n"," float_data: 0.2963089048862457\n"," float_data: 0.17691506445407867\n"," float_data: -0.40711545944213867\n"," float_data: -0.1792466640472412\n"," float_data: -0.4868773818016052\n"," float_data: 0.7461553812026978\n"," float_data: -0.04348670691251755\n"," float_data: -0.040731340646743774\n"," float_data: 0.056606046855449677\n"," float_data: -0.28346651792526245\n"," float_data: 0.06753943115472794\n"," float_data: -0.27477723360061646\n"," float_data: -0.2953200042247772\n"," float_data: 0.31945374608039856\n"," float_data: -0.09977182000875473\n"," float_data: 0.35889989137649536\n"," float_data: -0.13710662722587585\n"," float_data: -0.06071627885103226\n"," float_data: 0.0891886055469513\n"," float_data: -0.12389953434467316\n"," float_data: -0.4814082086086273\n"," float_data: -0.1209859848022461\n"," float_data: -0.07548031955957413\n"," float_data: 0.5070599913597107\n"," float_data: 0.16170549392700195\n"," float_data: 0.033460672944784164\n"," float_data: -0.01295141875743866\n"," float_data: 0.10999502241611481\n"," float_data: -0.18118232488632202\n"," float_data: -0.20907185971736908\n"," float_data: 0.17070117592811584\n"," float_data: 0.20845624804496765\n"," float_data: 0.10394178330898285\n"," float_data: 0.16494232416152954\n"," float_data: -0.05194123461842537\n"," float_data: 0.29782092571258545\n"," float_data: -0.11981762945652008\n"," float_data: -0.17728860676288605\n"," float_data: -0.14260271191596985\n"," float_data: -0.00290327868424356\n"," float_data: -0.15693335235118866\n"," float_data: -0.061181046068668365\n"," float_data: 0.18368062376976013\n"," float_data: 0.2737201750278473\n"," float_data: -0.09010158479213715\n"," float_data: -0.11838143318891525\n"," float_data: 0.02725459448993206\n"," float_data: 0.33432498574256897\n"," float_data: -0.14430531859397888\n"," float_data: -0.28883853554725647\n"," float_data: -0.2550128102302551\n"," float_data: -0.09727652370929718\n"," float_data: 0.5777705907821655\n"," float_data: -0.2912900447845459\n"," float_data: 0.1857275366783142\n"," float_data: -0.23318630456924438\n"," float_data: 0.1816663146018982\n"," float_data: -0.0103724654763937\n"," float_data: -0.03815264254808426\n"," float_data: -0.08915568888187408\n"," float_data: 0.6465838551521301\n"," float_data: 0.1674060970544815\n"," float_data: 0.12680207192897797\n"," float_data: -0.09792721271514893\n"," float_data: 0.2141653299331665\n"," float_data: 0.26453226804733276\n"," float_data: 0.05386819317936897\n"," float_data: -0.759514331817627\n"," float_data: -0.20290550589561462\n"," float_data: 0.34834200143814087\n"," float_data: -0.13746915757656097\n"," float_data: 0.2868601977825165\n"," float_data: 0.21477994322776794\n"," float_data: 0.09853070974349976\n"," float_data: -0.24042019248008728\n"," float_data: 0.15954174101352692\n"," float_data: -0.2267710119485855\n"," float_data: 0.01716097630560398\n"," float_data: 0.011399302631616592\n"," float_data: 0.17518985271453857\n"," float_data: 0.04992486163973808\n"," float_data: 0.07743320614099503\n"," float_data: -0.045791998505592346\n"," float_data: 0.02445896901190281\n"," float_data: -0.05144383758306503\n"," float_data: -0.48874711990356445\n"," float_data: -0.0658048763871193\n"," float_data: 0.10073553025722504\n"," float_data: 0.2683431804180145\n"," float_data: -0.039823323488235474\n"," float_data: 0.0979309231042862\n"," float_data: -0.03959166631102562\n"," float_data: -0.07608389109373093\n"," float_data: -0.00010426696826471016\n"," float_data: 0.03268659859895706\n"," float_data: -0.3119407296180725\n"," float_data: 0.08907616138458252\n"," float_data: -0.2897304594516754\n"," float_data: -0.07899510115385056\n"," float_data: 0.24833716452121735\n"," float_data: 0.6559720635414124\n"," float_data: -0.2895994186401367\n"," float_data: 0.3463401794433594\n"," float_data: -0.42760491371154785\n"," float_data: -0.06253678351640701\n"," float_data: 0.04139917343854904\n"," float_data: -0.09482403844594955\n"," float_data: -0.14266186952590942\n"," float_data: 0.0364593043923378\n"," float_data: -0.13176865875720978\n"," float_data: 0.011298294179141521\n"," float_data: -0.041946567595005035\n"," float_data: -0.025355981662869453\n"," float_data: -0.17728427052497864\n"," float_data: 0.04871153458952904\n"," float_data: 0.007119632791727781\n"," float_data: -0.03515055775642395\n"," float_data: -0.12065277248620987\n"," float_data: 0.03831062093377113\n"," float_data: -0.19670185446739197\n"," float_data: 0.15221554040908813\n"," float_data: 0.06654547899961472\n"," float_data: 0.026643497869372368\n"," float_data: -0.18223407864570618\n"," float_data: -0.2007436752319336\n"," float_data: 0.2476346790790558\n"," float_data: 0.14272479712963104\n"," float_data: -0.012629205361008644\n"," float_data: 0.1260186731815338\n"," float_data: -0.018152546137571335\n"," float_data: -0.01157828513532877\n"," float_data: 0.11374399811029434\n"," float_data: -0.33338260650634766\n"," float_data: -0.13109451532363892\n"," float_data: -0.1446518898010254\n"," float_data: 0.21875686943531036\n"," float_data: 0.28940579295158386\n"," float_data: 0.25008419156074524\n"," float_data: 0.17396798729896545\n"," float_data: 0.10197077691555023\n"," float_data: -0.256145179271698\n"," float_data: -0.11203703284263611\n"," float_data: -0.05913129448890686\n"," float_data: 0.03520730510354042\n"," float_data: -0.04082378372550011\n"," float_data: -0.08840140700340271\n"," float_data: -0.017499366775155067\n"," float_data: 0.03503291308879852\n"," float_data: -0.10343275219202042\n"," float_data: 0.06942393630743027\n"," float_data: 0.2820097804069519\n"," float_data: 0.06655175238847733\n"," float_data: -0.16650205850601196\n"," float_data: 0.06617830693721771\n"," float_data: -0.16453854739665985\n"," float_data: 0.40850934386253357\n"," float_data: 0.06259692460298538\n"," float_data: -0.06361491233110428\n"," float_data: -0.2838923931121826\n"," float_data: 0.18313315510749817\n"," float_data: 0.49446889758110046\n"," float_data: 0.29674839973449707\n"," float_data: -0.2716815173625946\n"," float_data: -0.007658152375370264\n"," float_data: -0.49666067957878113\n"," float_data: 0.343237966299057\n"," float_data: 0.09508498013019562\n"," float_data: -0.2770707309246063\n"," float_data: 0.19309349358081818\n"," float_data: -0.24312330782413483\n"," float_data: 0.2228984385728836\n"," float_data: 0.18062271177768707\n"," float_data: -0.34044212102890015\n"," float_data: 0.024597464129328728\n"," float_data: -0.12014612555503845\n"," float_data: 0.333555668592453\n"," float_data: -0.23799657821655273\n"," float_data: 0.030691465362906456\n"," float_data: 0.020851705223321915\n"," float_data: -0.057640593498945236\n"," float_data: -0.012411107309162617\n"," float_data: -0.25374025106430054\n"," float_data: -0.3371070325374603\n"," float_data: 0.4973212480545044\n"," float_data: 0.4041796028614044\n"," float_data: 0.022525912150740623\n"," float_data: -0.223723366856575\n"," float_data: 0.001989013748243451\n"," float_data: -0.3189954459667206\n"," float_data: 0.029870083555579185\n"," float_data: 0.17537035048007965\n"," float_data: 0.21442392468452454\n"," float_data: 0.267106294631958\n"," float_data: 0.10951993614435196\n"," float_data: -0.2830830216407776\n"," float_data: 0.32767611742019653\n"," float_data: 0.2755309045314789\n"," float_data: -0.37709763646125793\n"," float_data: -0.6742045879364014\n"," float_data: -0.4242328405380249\n"," float_data: -0.17566432058811188\n"," float_data: 0.22207844257354736\n"," float_data: 0.5258628129959106\n"," float_data: 0.4985211193561554\n"," float_data: -0.7342137694358826\n"," float_data: -0.07246284931898117\n"," float_data: -0.03177037090063095\n"," float_data: 0.6141102910041809\n"," float_data: 0.27530428767204285\n"," float_data: -0.1815706342458725\n"," float_data: 0.010792283341288567\n"," float_data: 0.2778345048427582\n"," float_data: 0.04865288734436035\n"," float_data: 0.1919439285993576\n"," float_data: -0.1422531008720398\n"," float_data: 0.09415336698293686\n"," float_data: -0.14221195876598358\n"," float_data: -0.04775889217853546\n"," float_data: 0.13818661868572235\n"," float_data: 0.11377434432506561\n"," float_data: -0.0022223088890314102\n"," float_data: 0.012142995372414589\n"," float_data: -0.12801840901374817\n"," float_data: 0.21084506809711456\n"," float_data: 0.09857626259326935\n"," float_data: -0.007353052031248808\n"," float_data: -0.0913769006729126\n"," float_data: -0.18609200417995453\n"," float_data: 0.09367707371711731\n"," float_data: 0.21986864507198334\n"," float_data: 0.013781992718577385\n"," float_data: 0.01853935606777668\n"," float_data: 0.10021904110908508\n"," float_data: 0.05750510096549988\n"," float_data: 0.08740148693323135\n"," float_data: -0.25919461250305176\n"," float_data: 0.05117707699537277\n"," float_data: 0.031620193272829056\n"," float_data: 0.07561399042606354\n"," float_data: -0.2155151516199112\n"," float_data: -0.18499906361103058\n"," float_data: 0.26917633414268494\n"," float_data: -0.23229144513607025\n"," float_data: 0.24011075496673584\n"," float_data: 0.21374329924583435\n"," float_data: -0.5332348942756653\n"," float_data: -0.07875639200210571\n"," float_data: 0.2117759883403778\n"," float_data: 0.1705530434846878\n"," float_data: 0.5362648963928223\n"," float_data: -0.1995139867067337\n"," float_data: -0.005656009074300528\n"," float_data: -0.19522617757320404\n"," float_data: -0.1240236833691597\n"," float_data: 0.06757839024066925\n"," float_data: -0.12189232558012009\n"," float_data: 0.054548390209674835\n"," float_data: -0.30103686451911926\n"," float_data: -0.000548959884326905\n"," float_data: 0.17150354385375977\n"," float_data: 0.7702476382255554\n"," float_data: -0.270901620388031\n"," float_data: 0.058912355452775955\n"," float_data: -0.14350523054599762\n"," float_data: -0.023597054183483124\n"," float_data: -0.022250233218073845\n"," float_data: -0.23405173420906067\n"," float_data: -0.2757638990879059\n"," float_data: 0.1007445827126503\n"," float_data: -0.1329796314239502\n"," float_data: -0.13568520545959473\n"," float_data: 0.15051181614398956\n"," float_data: 0.1358998715877533\n"," float_data: -0.0836479440331459\n"," float_data: 0.14334900677204132\n"," float_data: 0.10898629575967789\n"," float_data: -0.1095767691731453\n"," float_data: 0.004637917969375849\n"," float_data: 0.08212459832429886\n"," float_data: -0.05697902664542198\n"," float_data: -0.032599519938230515\n"," float_data: 0.16697385907173157\n"," float_data: -0.11660593003034592\n"," float_data: 0.13034111261367798\n"," float_data: 0.11591079831123352\n"," float_data: 0.08402854204177856\n"," float_data: -0.13984470069408417\n"," float_data: -0.004339132457971573\n"," float_data: -0.07553751021623611\n"," float_data: 0.07529407739639282\n"," float_data: 0.14620235562324524\n"," float_data: -0.07316114753484726\n"," float_data: -0.16493269801139832\n"," float_data: -0.04817352071404457\n"," float_data: 0.11424325406551361\n"," float_data: -0.16561166942119598\n"," float_data: -0.09932099282741547\n"," float_data: -0.17314133048057556\n"," float_data: 0.098062664270401\n"," float_data: 0.052351295948028564\n"," float_data: 0.03586893901228905\n"," float_data: 0.00025790484505705535\n"," float_data: -0.1103641539812088\n"," float_data: 0.07944493740797043\n"," float_data: -0.014252503402531147\n"," float_data: 0.044749870896339417\n"," float_data: -0.0960293710231781\n"," float_data: -0.06515513360500336\n"," float_data: 0.018660664558410645\n"," float_data: 0.10578678548336029\n"," float_data: 0.11224555224180222\n"," float_data: 0.1732243150472641\n"," float_data: -0.06556550413370132\n"," float_data: 0.032207805663347244\n"," float_data: 0.06615697592496872\n"," float_data: -0.10299636423587799\n"," float_data: -0.04562302306294441\n"," float_data: -0.09077974408864975\n"," float_data: 0.08549204468727112\n"," float_data: -0.06881946325302124\n"," float_data: 0.32974880933761597\n"," float_data: -0.13802692294120789\n"," float_data: -0.06297125667333603\n"," float_data: 0.1720268279314041\n"," float_data: -0.057560257613658905\n"," float_data: -0.13936729729175568\n"," float_data: -0.2783893942832947\n"," float_data: -0.0036408226005733013\n"," float_data: -0.1684986650943756\n"," float_data: 0.4008839726448059\n"," float_data: 0.10527267307043076\n"," float_data: -0.0300565417855978\n"," float_data: -0.31405410170555115\n"," float_data: -0.006559103261679411\n"," float_data: -0.018896758556365967\n"," float_data: -0.023097863420844078\n"," float_data: -0.20794691145420074\n"," float_data: 0.11639930307865143\n"," float_data: -0.04596497863531113\n"," float_data: 0.1214529275894165\n"," float_data: 0.11801191419363022\n"," float_data: 0.35721829533576965\n"," float_data: -0.18851321935653687\n"," float_data: -0.1327095776796341\n"," float_data: 0.21601921319961548\n"," float_data: -0.0711841806769371\n"," float_data: -0.06027870252728462\n"," float_data: -0.014308637008070946\n"," float_data: 0.09809606522321701\n"," float_data: -0.10807335376739502\n"," float_data: 0.030968409031629562\n"," float_data: -0.0976092740893364\n"," float_data: 0.024996085092425346\n"," float_data: -0.24101898074150085\n"," float_data: 0.027350248768925667\n"," float_data: 0.002106643049046397\n"," float_data: 0.11929166316986084\n"," float_data: 0.09693682938814163\n"," float_data: 0.31900787353515625\n"," float_data: -0.16620038449764252\n"," float_data: 0.1639149785041809\n"," float_data: -0.24900873005390167\n"," float_data: 0.032387133687734604\n"," float_data: 0.09503580629825592\n"," float_data: 0.06371842324733734\n"," float_data: 0.3932006061077118\n"," float_data: -0.3992522060871124\n"," float_data: -0.18966802954673767\n"," float_data: -0.24347421526908875\n"," float_data: 0.3726486265659332\n"," float_data: -0.35335421562194824\n"," float_data: 0.005322188138961792\n"," float_data: -0.04494557902216911\n"," float_data: 0.05848128721117973\n"," float_data: -0.26220476627349854\n"," float_data: -0.05913911014795303\n"," float_data: -0.3559877872467041\n"," float_data: 0.20696568489074707\n"," float_data: 0.2702261805534363\n"," float_data: 0.21548689901828766\n"," float_data: -0.3574220538139343\n"," float_data: -0.008915886282920837\n"," float_data: -0.3990292251110077\n"," float_data: 0.01371531281620264\n"," float_data: 0.02647603303194046\n"," float_data: 0.1421816349029541\n"," float_data: -0.20252008736133575\n"," float_data: 0.2786376476287842\n"," float_data: -0.0004179552779532969\n"," float_data: -0.19249746203422546\n"," float_data: 0.15893307328224182\n"," float_data: -0.023107875138521194\n"," float_data: 0.028147293254733086\n"," float_data: 0.11653110384941101\n"," float_data: -0.017896151170134544\n"," float_data: -0.056495871394872665\n"," float_data: -0.08003103733062744\n"," float_data: -0.07378257066011429\n"," float_data: -0.10359156131744385\n"," float_data: 0.04267094284296036\n"," float_data: 0.3455430269241333\n"," float_data: -0.3554867208003998\n"," float_data: 0.06454678624868393\n"," float_data: -0.09280721098184586\n"," float_data: 0.11624147742986679\n"," float_data: 0.21442848443984985\n"," float_data: 0.28783032298088074\n"," float_data: -0.36001425981521606\n"," float_data: -0.3142940402030945\n"," float_data: 0.08799482882022858\n"," float_data: -0.40366727113723755\n"," float_data: 0.0492858849465847\n"," float_data: 0.26043832302093506\n"," float_data: -0.0456053800880909\n"," float_data: -0.08510875701904297\n"," float_data: 0.3849102556705475\n"," float_data: 0.25178590416908264\n"," float_data: 0.03006647527217865\n"," float_data: -0.19147968292236328\n"," float_data: 0.010460179299116135\n"," float_data: -0.1642722338438034\n"," float_data: 0.10134069621562958\n"," float_data: 0.07430271059274673\n"," float_data: 0.07157307118177414\n"," float_data: -0.13403825461864471\n"," float_data: -0.19174471497535706\n"," float_data: 0.004585821647197008\n"," float_data: 0.012936335057020187\n"," float_data: -0.016513358801603317\n"," float_data: 0.002725588856264949\n"," float_data: -0.009124319069087505\n"," float_data: 0.11511059105396271\n"," float_data: 0.06850532442331314\n"," float_data: -0.10343107581138611\n"," float_data: 0.11619291454553604\n"," float_data: 0.015174216590821743\n"," float_data: 0.027511922642588615\n"," float_data: -0.02946728840470314\n"," float_data: 0.08782140910625458\n"," float_data: 0.17025546729564667\n"," float_data: -0.10653657466173172\n"," float_data: -0.11597806215286255\n"," float_data: -0.13829486072063446\n"," float_data: -0.01264076866209507\n"," float_data: 0.10421432554721832\n"," float_data: -0.07220742106437683\n"," float_data: 0.042693838477134705\n"," float_data: 0.08286269754171371\n"," float_data: 0.016975056380033493\n"," float_data: 0.2577604055404663\n"," float_data: -0.11046063154935837\n"," float_data: -0.14268110692501068\n"," float_data: 0.08814547955989838\n"," float_data: 0.23049873113632202\n"," float_data: -0.04031062126159668\n"," float_data: -0.07507094740867615\n"," float_data: -0.3157734274864197\n"," float_data: -0.022311316803097725\n"," float_data: -0.14433537423610687\n"," float_data: -0.0725242868065834\n"," float_data: -0.15836475789546967\n"," float_data: -0.1575719565153122\n"," float_data: -0.06636432558298111\n"," float_data: 0.3540959060192108\n"," float_data: 0.006868716329336166\n"," float_data: 0.037796322256326675\n"," float_data: -0.28033024072647095\n"," float_data: 0.018679393455386162\n"," float_data: 0.0206664577126503\n"," float_data: 0.06874176114797592\n"," float_data: 0.2016603946685791\n"," float_data: 0.09627377986907959\n"," float_data: -0.11800261586904526\n"," float_data: 0.12034659832715988\n"," float_data: -0.017264321446418762\n"," float_data: 0.050676003098487854\n"," float_data: 0.10920056700706482\n"," float_data: -0.04256569966673851\n"," float_data: -0.028189225122332573\n"," float_data: 0.22206032276153564\n"," float_data: 0.13020053505897522\n"," float_data: -0.052751574665308\n"," float_data: 0.124635249376297\n"," float_data: 0.08630852401256561\n"," float_data: 0.049558911472558975\n"," float_data: 0.1940731704235077\n"," float_data: -0.3270353078842163\n"," float_data: -0.2053120881319046\n"," float_data: -0.2382669448852539\n"," float_data: -0.2769091725349426\n"," float_data: 0.060951318591833115\n"," float_data: 0.19507752358913422\n"," float_data: 0.07965121418237686\n"," float_data: -0.14788250625133514\n"," float_data: -0.2017786055803299\n"," float_data: -0.07861172407865524\n"," float_data: -0.021125325933098793\n"," float_data: 0.6223727464675903\n"," float_data: -0.12796884775161743\n"," float_data: -0.09095203876495361\n"," float_data: -0.1055283397436142\n"," float_data: 0.29063162207603455\n"," float_data: -0.05614039674401283\n"," float_data: 0.05790459364652634\n"," float_data: -0.08286868780851364\n"," float_data: 0.019389694556593895\n"," float_data: 0.3396531343460083\n"," float_data: -0.041522618383169174\n"," float_data: -0.1748998612165451\n"," float_data: 0.13207004964351654\n"," float_data: -0.014569399878382683\n"," float_data: -0.11774333566427231\n"," float_data: 0.06858433037996292\n"," float_data: -0.04267200082540512\n"," float_data: 0.14176085591316223\n"," float_data: 0.06368128210306168\n"," float_data: -0.1924912929534912\n"," float_data: -0.11341242492198944\n"," float_data: -0.012101749889552593\n"," float_data: 0.10720602422952652\n"," float_data: 0.30187278985977173\n"," float_data: -0.12481964379549026\n"," float_data: -0.03679987043142319\n"," float_data: 0.29304084181785583\n"," float_data: -0.26227569580078125\n"," float_data: -0.053627096116542816\n"," float_data: -0.08497927337884903\n"," float_data: 0.12152071297168732\n"," float_data: -0.007846342399716377\n"," float_data: -0.2959749400615692\n"," float_data: 0.08162492513656616\n"," float_data: 0.3843308389186859\n"," float_data: 0.08779431879520416\n"," float_data: 0.06559973210096359\n"," float_data: 0.14728093147277832\n"," float_data: 0.12533937394618988\n"," float_data: -0.055610451847314835\n"," float_data: 0.2516423165798187\n"," float_data: -0.0015343481209129095\n"," float_data: -0.18029280006885529\n"," float_data: -0.16464252769947052\n"," float_data: -0.1175551638007164\n"," float_data: -0.11583521962165833\n"," float_data: -0.1070915088057518\n"," float_data: 0.16618530452251434\n"," float_data: 0.08879489451646805\n"," float_data: 0.11461640149354935\n"," float_data: -0.19360025227069855\n"," float_data: -0.15142479538917542\n"," float_data: 0.05598924309015274\n"," float_data: 0.13593944907188416\n"," float_data: -0.03091767057776451\n"," float_data: -0.012382415123283863\n"," float_data: 0.08237934112548828\n"," float_data: 0.06515523046255112\n"," float_data: -0.05971785634756088\n"," float_data: -0.14912676811218262\n"," float_data: 0.12891757488250732\n"," float_data: 0.24418595433235168\n"," float_data: -0.16759711503982544\n"," float_data: 0.08927612006664276\n"," float_data: 0.03573741018772125\n"," float_data: -0.08931893855333328\n"," float_data: -0.002873431658372283\n"," float_data: -0.13407030701637268\n"," float_data: -0.23093639314174652\n"," float_data: 0.039058707654476166\n"," float_data: -0.1672481745481491\n"," float_data: 0.1786230504512787\n"," float_data: -0.09433726221323013\n"," float_data: -0.018776755779981613\n"," float_data: 0.1370379626750946\n"," float_data: -0.32226258516311646\n"," float_data: 0.21761101484298706\n"," float_data: 0.3319862484931946\n"," float_data: -0.47562161087989807\n"," float_data: 0.44754621386528015\n"," float_data: -0.30787163972854614\n"," float_data: -0.15269382297992706\n"," float_data: 0.18217946588993073\n"," float_data: -0.0888611301779747\n"," float_data: 0.16506533324718475\n"," float_data: 0.04154164344072342\n"," float_data: 0.18264485895633698\n"," float_data: 0.0028657126240432262\n"," float_data: -0.30466267466545105\n"," float_data: 0.15093721449375153\n"," float_data: -0.06766299903392792\n"," float_data: -0.16677311062812805\n"," float_data: -0.13767512142658234\n"," float_data: 0.08700795471668243\n"," float_data: -0.040442097932100296\n"," float_data: -0.03698461875319481\n"," float_data: -0.18092450499534607\n"," float_data: 0.04105095937848091\n"," float_data: 0.12430304288864136\n"," float_data: -0.04239628091454506\n"," float_data: -0.06371389329433441\n"," float_data: -0.1356329470872879\n"," float_data: 0.09007593989372253\n"," float_data: 0.14395377039909363\n"," float_data: 0.19690565764904022\n"," float_data: -0.030341407284140587\n"," float_data: 0.045684002339839935\n"," float_data: 0.06577257066965103\n"," float_data: -0.0472409687936306\n"," float_data: 0.0891195610165596\n"," float_data: 0.04035165160894394\n"," float_data: -0.05227403715252876\n"," float_data: -0.15577834844589233\n"," float_data: 0.1922885775566101\n"," float_data: 0.13543137907981873\n"," float_data: -0.011749576777219772\n"," float_data: 0.06312236189842224\n"," float_data: -0.0275140218436718\n"," float_data: 0.019690584391355515\n"," float_data: -0.07631327211856842\n"," float_data: 0.040844131261110306\n"," float_data: -0.033644527196884155\n"," float_data: -0.07004953920841217\n"," float_data: -0.04987196996808052\n"," float_data: -0.14742253720760345\n"," float_data: 0.05048427730798721\n"," float_data: -0.015130467712879181\n"," float_data: 0.10818115621805191\n"," float_data: 0.09920626133680344\n"," float_data: -0.13659435510635376\n"," float_data: -0.04051431268453598\n"," float_data: -0.09093411266803741\n"," float_data: 0.23569150269031525\n"," float_data: -0.2596786618232727\n"," float_data: -0.04438869282603264\n"," float_data: 0.028831075876951218\n"," float_data: 0.051760755479335785\n"," float_data: 0.003889303421601653\n"," float_data: 0.15690290927886963\n"," float_data: 0.10129068791866302\n"," float_data: -0.20741795003414154\n"," float_data: -0.09403233230113983\n"," float_data: 0.25492313504219055\n"," float_data: -0.151593878865242\n"," float_data: -0.37808698415756226\n"," float_data: 0.14954344928264618\n"," float_data: 0.10286097973585129\n"," float_data: -0.21811266243457794\n"," float_data: -0.0008768771658651531\n"," float_data: -0.11623913049697876\n"," float_data: 0.09086018800735474\n"," float_data: 0.5318314433097839\n"," float_data: 0.1848234236240387\n"," float_data: 0.15465310215950012\n"," float_data: -0.07699967920780182\n"," float_data: 0.07571322470903397\n"," float_data: 0.23994295299053192\n"," float_data: -0.45164182782173157\n"," float_data: 0.0020482821855694056\n"," float_data: -0.39811354875564575\n"," float_data: -0.13066136837005615\n"," float_data: -0.02498955838382244\n"," float_data: 0.06897786259651184\n"," float_data: -0.04159349575638771\n"," float_data: 0.06566480547189713\n"," float_data: -0.06346173584461212\n"," float_data: 0.046806301921606064\n"," float_data: -0.01255381852388382\n"," float_data: -0.11576959490776062\n"," float_data: -0.2331949770450592\n"," float_data: -0.2768019735813141\n"," float_data: -0.013630802743136883\n"," float_data: -0.2924085259437561\n"," float_data: -0.402077317237854\n"," float_data: -0.3669428825378418\n"," float_data: 0.3364390730857849\n"," float_data: -0.050368160009384155\n"," float_data: -0.04178308695554733\n"," float_data: -0.25996798276901245\n"," float_data: 0.2997923791408539\n"," float_data: 0.4380180239677429\n"," float_data: 0.05968686193227768\n"," float_data: -0.007905100472271442\n"," float_data: -0.38147321343421936\n"," float_data: -0.21906282007694244\n"," float_data: 0.25176504254341125\n"," float_data: 0.17369648814201355\n"," float_data: -0.17449451982975006\n"," float_data: -0.15468837320804596\n"," float_data: 0.1808316558599472\n"," float_data: 0.35774892568588257\n"," float_data: -0.04379989951848984\n"," float_data: 0.37145715951919556\n"," float_data: -0.4525375962257385\n"," float_data: 0.1872825175523758\n"," float_data: -0.01313698198646307\n"," float_data: -0.14299286901950836\n"," float_data: -0.5754454135894775\n"," float_data: -0.12922726571559906\n"," float_data: 0.17329920828342438\n"," float_data: 0.38266071677207947\n"," float_data: 0.1533488631248474\n"," float_data: -0.15947268903255463\n"," float_data: 0.03709738329052925\n"," float_data: -0.01734403520822525\n"," float_data: -0.03451868146657944\n"," float_data: -0.17483440041542053\n"," float_data: 0.10900341719388962\n"," float_data: 0.0749971866607666\n"," float_data: 0.15221449732780457\n"," float_data: -0.04126245900988579\n"," float_data: 0.06777593493461609\n"," float_data: -0.1550237387418747\n"," float_data: 0.16354630887508392\n"," float_data: 0.22785420715808868\n"," float_data: 0.04684881493449211\n"," float_data: -0.029828466475009918\n"," float_data: 0.10399839282035828\n"," float_data: -0.18968293070793152\n"," float_data: 0.13570716977119446\n"," float_data: -0.0902256965637207\n"," float_data: 0.26327604055404663\n"," float_data: -0.2846408188343048\n"," float_data: 0.6480950713157654\n"," float_data: -0.13615000247955322\n"," float_data: 0.06460057944059372\n"," float_data: 0.03009645827114582\n"," float_data: 0.2770584225654602\n"," float_data: -0.22201181948184967\n"," float_data: 0.16104179620742798\n"," float_data: -0.23982785642147064\n"," float_data: -0.22440768778324127\n"," float_data: -0.014262770302593708\n"," float_data: 0.45522406697273254\n"," float_data: -0.014287739060819149\n"," float_data: -0.19704768061637878\n"," float_data: -0.27394959330558777\n"," float_data: 0.17722734808921814\n"," float_data: 0.07222182303667068\n"," float_data: -0.1194758415222168\n"," float_data: -0.07190455496311188\n"," float_data: 0.10904071480035782\n"," float_data: -0.17517201602458954\n"," float_data: -0.08903846144676208\n"," float_data: 0.17170043289661407\n"," float_data: -0.05955890566110611\n"," float_data: 0.11402436345815659\n"," float_data: 0.16522061824798584\n"," float_data: -0.35160520672798157\n"," float_data: -0.034481167793273926\n"," float_data: -0.11740123480558395\n"," float_data: -0.1341399848461151\n"," float_data: -0.16011583805084229\n"," float_data: 0.2641150653362274\n"," float_data: 0.10897932201623917\n"," float_data: -0.0894259363412857\n"," float_data: -0.17326205968856812\n"," float_data: -0.05433197692036629\n"," float_data: 0.045789893716573715\n"," float_data: 0.08167993277311325\n"," float_data: 0.0851130560040474\n"," float_data: 0.08021274209022522\n"," float_data: -0.24175073206424713\n"," float_data: 0.3722534775733948\n"," float_data: -0.10094456374645233\n"," float_data: -0.1566823273897171\n"," float_data: 0.0509134903550148\n"," float_data: 0.19977764785289764\n"," float_data: -0.24489189684391022\n"," float_data: 0.13482235372066498\n"," float_data: 0.0021940013393759727\n"," float_data: -0.031168082728981972\n"," float_data: 0.12135770916938782\n"," float_data: -0.12688791751861572\n"," float_data: -0.18958106637001038\n"," float_data: 0.1666739135980606\n"," float_data: 0.03047162853181362\n"," float_data: 0.15504519641399384\n"," float_data: -0.052737027406692505\n"," float_data: 0.02627147175371647\n"," float_data: -0.2274574190378189\n"," float_data: -0.13437311351299286\n"," float_data: 0.3057021200656891\n"," float_data: -0.0929778516292572\n"," float_data: -0.1847575455904007\n"," float_data: 0.399563193321228\n"," float_data: -0.22119897603988647\n"," float_data: 0.17216287553310394\n"," float_data: -0.029635321348905563\n"," float_data: 0.10997044295072556\n"," float_data: -0.09030432999134064\n"," float_data: -0.003445087932050228\n"," float_data: 0.14845050871372223\n"," float_data: 0.051591478288173676\n"," float_data: 0.17100530862808228\n"," float_data: 0.020391153171658516\n"," float_data: -0.2737419605255127\n"," float_data: -0.2258184850215912\n"," float_data: -0.14499276876449585\n"," float_data: -0.050254352390766144\n"," float_data: 0.25733503699302673\n"," float_data: 0.1789223849773407\n"," float_data: -0.41638413071632385\n"," float_data: 0.023735329508781433\n"," float_data: -0.17261525988578796\n"," float_data: -0.5102411508560181\n"," float_data: 0.12343695014715195\n"," float_data: -0.30591854453086853\n"," float_data: 0.037345319986343384\n"," float_data: 0.19263741374015808\n"," float_data: 0.47267165780067444\n"," float_data: -0.1087423637509346\n"," float_data: 0.0061024259775877\n"," float_data: -0.046458132565021515\n"," float_data: -0.48704057931900024\n"," float_data: 0.04032278060913086\n"," float_data: 0.08467965573072433\n"," float_data: 0.5137514472007751\n"," float_data: -0.06556256115436554\n"," float_data: 0.15030834078788757\n"," float_data: -0.0401739738881588\n"," float_data: -0.21601969003677368\n"," float_data: 0.24490106105804443\n"," float_data: -0.13502101600170135\n"," float_data: 0.10465565323829651\n"," float_data: 0.7192519903182983\n"," float_data: -0.12715119123458862\n"," float_data: -0.26400426030158997\n"," float_data: 0.12273196876049042\n"," float_data: 0.003511932911351323\n"," float_data: -0.6221611499786377\n"," float_data: 0.0638633668422699\n"," float_data: 0.029396679252386093\n"," float_data: 0.3360448181629181\n"," float_data: -0.029485199600458145\n"," float_data: 0.10902433097362518\n"," float_data: 0.11317962408065796\n"," float_data: -0.20234441757202148\n"," float_data: 0.24299386143684387\n"," float_data: 0.10908794403076172\n"," float_data: -0.3232010006904602\n"," float_data: -0.1419249325990677\n"," float_data: -0.06445199251174927\n"," float_data: 0.19993530213832855\n"," float_data: 0.033440060913562775\n"," float_data: -0.011840429157018661\n"," float_data: 0.023170193657279015\n"," float_data: 0.03249383717775345\n"," float_data: 0.09918065369129181\n"," float_data: 0.008781714364886284\n"," float_data: -0.4246515929698944\n"," float_data: 0.12794847786426544\n"," float_data: 0.3463687598705292\n"," float_data: -0.2862425446510315\n"," float_data: 0.26846349239349365\n"," float_data: 0.20964421331882477\n"," float_data: -0.19132165610790253\n"," float_data: 0.3305538594722748\n"," float_data: -0.30350014567375183\n"," float_data: -0.0025937878526747227\n"," float_data: -0.1251397728919983\n"," float_data: 0.23763184249401093\n"," float_data: 0.24581365287303925\n"," float_data: 0.20030765235424042\n"," float_data: -0.11234287172555923\n"," float_data: -0.25250014662742615\n"," float_data: -0.1133827418088913\n"," float_data: -0.32861950993537903\n"," float_data: -0.21313956379890442\n"," float_data: -0.07529347389936447\n"," float_data: 0.3853905200958252\n"," float_data: -0.23673047125339508\n"," float_data: 0.4138970971107483\n"," float_data: -0.11850415170192719\n"," float_data: 0.0405057929456234\n"," float_data: 0.05868089571595192\n"," float_data: 0.4284021854400635\n"," float_data: -0.33250945806503296\n"," float_data: -0.018637601286172867\n"," float_data: -0.29963624477386475\n"," float_data: -0.08990953862667084\n"," float_data: -0.10388948768377304\n"," float_data: 0.0031918510794639587\n"," float_data: -0.12570688128471375\n"," float_data: -0.038307785987854004\n"," float_data: -0.4091474711894989\n"," float_data: 0.023242607712745667\n"," float_data: -0.17890839278697968\n"," float_data: 0.3214879035949707\n"," float_data: -0.2552642524242401\n"," float_data: 0.1109834611415863\n"," float_data: 0.10022710263729095\n"," float_data: 0.12840622663497925\n"," float_data: 0.0030893231742084026\n"," float_data: 0.12838077545166016\n"," float_data: -0.10303178429603577\n"," float_data: 0.22976282238960266\n"," float_data: -0.3123551607131958\n"," float_data: 0.1463969498872757\n"," float_data: 0.051804542541503906\n"," float_data: 0.18107546865940094\n"," float_data: -0.07624709606170654\n"," float_data: 0.016001012176275253\n"," float_data: -0.24331940710544586\n"," float_data: 0.30368733406066895\n"," float_data: -0.4261264503002167\n"," float_data: 0.2724919319152832\n"," float_data: 0.03811890259385109\n"," float_data: 0.01578075811266899\n"," float_data: 0.31527477502822876\n"," float_data: -0.021301928907632828\n"," float_data: 0.049029409885406494\n"," float_data: -0.013109689578413963\n"," float_data: 0.06902546435594559\n"," float_data: 0.006003120448440313\n"," float_data: -0.18253539502620697\n"," float_data: 0.08975179493427277\n"," float_data: 0.028871646150946617\n"," float_data: -0.037357401102781296\n"," float_data: 0.12274015694856644\n"," float_data: 0.06220485270023346\n"," float_data: 0.10932951420545578\n"," float_data: -0.09101811051368713\n"," float_data: 0.16965115070343018\n"," float_data: -0.32301685214042664\n"," float_data: -0.14145389199256897\n"," float_data: 0.25746065378189087\n"," float_data: 0.12483193725347519\n"," float_data: -0.05370665714144707\n"," float_data: 0.006776327732950449\n"," float_data: 0.029081005603075027\n"," float_data: -0.00832702312618494\n"," float_data: 0.18339493870735168\n"," float_data: 0.012635315768420696\n"," float_data: -0.059541717171669006\n"," float_data: 0.0070755924098193645\n"," float_data: 0.1613999605178833\n"," float_data: 0.05167313665151596\n"," float_data: -0.03312039002776146\n"," float_data: -0.14678755402565002\n"," float_data: -0.041794199496507645\n"," float_data: 0.024336209520697594\n"," float_data: -0.04031798243522644\n"," float_data: -0.07198493182659149\n"," float_data: -0.06211192160844803\n"," float_data: -0.09906855970621109\n"," float_data: -0.07760624587535858\n"," float_data: 0.12499915063381195\n"," float_data: 0.05696330964565277\n"," float_data: 0.08771709352731705\n"," float_data: 0.12930439412593842\n"," float_data: -0.002995092887431383\n"," float_data: -0.10194438695907593\n"," float_data: 0.0026786515954881907\n"," float_data: -0.07013368606567383\n"," float_data: 0.09556461125612259\n"," float_data: 0.1567007154226303\n"," float_data: 0.10396436601877213\n"," float_data: 0.14370758831501007\n"," float_data: -0.198551207780838\n"," float_data: 0.20064552128314972\n"," float_data: -0.24868379533290863\n"," float_data: 0.017768235877156258\n"," float_data: 0.10713237524032593\n"," float_data: 0.4929283857345581\n"," float_data: -0.26857101917266846\n"," float_data: -0.12122423946857452\n"," float_data: -0.1269984096288681\n"," float_data: 0.052571892738342285\n"," float_data: -0.26939892768859863\n"," float_data: -0.10755529254674911\n"," float_data: 0.19760534167289734\n"," float_data: 0.20846694707870483\n"," float_data: 0.18844573199748993\n"," float_data: -0.11503980308771133\n"," float_data: -0.30529141426086426\n"," float_data: -0.11682813614606857\n"," float_data: -0.34781256318092346\n"," float_data: 0.5207266211509705\n"," float_data: -0.4712638258934021\n"," float_data: -0.23284949362277985\n"," float_data: 0.15462812781333923\n"," float_data: 0.2560245096683502\n"," float_data: 0.18089650571346283\n"," float_data: -0.3491568863391876\n"," float_data: -0.0832585021853447\n"," float_data: -0.08207681030035019\n"," float_data: 0.20258057117462158\n"," float_data: 0.17114199697971344\n"," float_data: -0.17644831538200378\n"," float_data: -0.173751562833786\n"," float_data: 0.2703363299369812\n"," float_data: -0.08097436279058456\n"," float_data: 0.07127182185649872\n"," float_data: -0.4510475695133209\n"," float_data: 0.0683375746011734\n"," float_data: -0.061998944729566574\n"," float_data: 0.2676668167114258\n"," float_data: -0.03474615514278412\n"," float_data: 0.04513286426663399\n"," float_data: 0.028333112597465515\n"," float_data: -0.053918153047561646\n"," float_data: 0.27216416597366333\n"," float_data: 0.12015949189662933\n"," float_data: -0.052361488342285156\n"," float_data: 0.05582002177834511\n"," float_data: 0.0011276945006102324\n"," float_data: -0.09788046777248383\n"," float_data: 0.08942519873380661\n"," float_data: 0.24042055010795593\n"," float_data: -0.1666560024023056\n"," float_data: -0.16350886225700378\n"," float_data: 0.1799515187740326\n"," float_data: -0.008891127072274685\n"," float_data: -0.028300389647483826\n"," float_data: -0.1286436915397644\n"," float_data: 0.03829898312687874\n"," float_data: -0.007997912354767323\n"," float_data: 0.41605329513549805\n"," float_data: -0.2063947319984436\n"," float_data: -0.12860269844532013\n"," float_data: 0.13437971472740173\n"," float_data: -0.0020448940340429544\n"," float_data: -0.27876725792884827\n"," float_data: -0.2895587682723999\n"," float_data: -0.12267675995826721\n"," float_data: -0.14330615103244781\n"," float_data: 0.12025397270917892\n"," float_data: -0.020110158249735832\n"," float_data: 0.029675573110580444\n"," float_data: -0.032737672328948975\n"," float_data: 0.08538654446601868\n"," float_data: -0.005821694619953632\n"," float_data: 0.2769947350025177\n"," float_data: -0.09291595965623856\n"," float_data: 0.04073847457766533\n"," float_data: -0.0648677721619606\n"," float_data: 0.06735273450613022\n"," float_data: -0.40732091665267944\n"," float_data: 0.176787868142128\n"," float_data: -0.05011263117194176\n"," float_data: -0.44351816177368164\n"," float_data: 0.13301397860050201\n"," float_data: -0.0031333290971815586\n"," float_data: -0.5690222382545471\n"," float_data: 0.353231817483902\n"," float_data: -0.15320757031440735\n"," float_data: 0.07206130772829056\n"," float_data: 0.34108296036720276\n"," float_data: -0.015670016407966614\n"," float_data: 0.019037077203392982\n"," float_data: -0.11005114763975143\n"," float_data: -0.14040493965148926\n"," float_data: 0.08216293901205063\n"," float_data: 0.315339058637619\n"," float_data: 0.31822946667671204\n"," float_data: -0.0022590586449950933\n"," float_data: 0.03296921029686928\n"," float_data: -0.07362024486064911\n"," float_data: -0.23191256821155548\n"," float_data: 0.08288105577230453\n"," float_data: 0.33050337433815\n"," float_data: -0.11705020070075989\n"," float_data: -0.13865496218204498\n"," float_data: 0.11741788685321808\n"," float_data: -0.1185915470123291\n"," float_data: 0.24399985373020172\n"," float_data: 0.01046437956392765\n"," float_data: -0.16304251551628113\n"," float_data: -0.09938912093639374\n"," float_data: -0.10205716639757156\n"," float_data: -0.035569626837968826\n"," float_data: -0.1990514099597931\n"," float_data: 0.18492333590984344\n"," float_data: 0.0006553978892043233\n"," float_data: -0.011041722260415554\n"," float_data: -0.046466778963804245\n"," float_data: 0.1807551383972168\n"," float_data: -0.20811247825622559\n"," float_data: -0.010684726759791374\n"," float_data: 0.11008577048778534\n"," float_data: -0.3220294415950775\n"," float_data: -0.05505755543708801\n"," float_data: 0.29091495275497437\n"," float_data: 0.20048213005065918\n"," float_data: -0.29636889696121216\n"," float_data: -0.0722438395023346\n"," float_data: 0.19180257618427277\n"," float_data: -0.48387813568115234\n"," float_data: 0.28764960169792175\n"," float_data: 0.14055180549621582\n"," float_data: 0.2795824110507965\n"," float_data: -0.036532964557409286\n"," float_data: 0.08083942532539368\n"," float_data: -0.17095451056957245\n"," float_data: -0.12441227585077286\n"," float_data: -0.2703731060028076\n"," float_data: 0.3889428973197937\n"," float_data: -0.35034751892089844\n"," float_data: -0.09931854158639908\n"," float_data: 0.40855515003204346\n"," float_data: 0.1639467179775238\n"," float_data: 0.2348717451095581\n"," float_data: -0.0823296308517456\n"," float_data: -0.2334691733121872\n"," float_data: 0.24082490801811218\n"," float_data: 0.05176466330885887\n"," float_data: 0.26732632517814636\n"," float_data: -0.09958333522081375\n"," float_data: -0.14812098443508148\n"," float_data: -0.15910203754901886\n"," float_data: 0.04594074934720993\n"," float_data: 0.1187119409441948\n"," float_data: -0.24328404664993286\n"," float_data: -0.14035339653491974\n"," float_data: 0.20764797925949097\n"," float_data: -0.18455490469932556\n"," float_data: 0.15859569609165192\n"," float_data: 0.12459331005811691\n"," float_data: -0.02658882364630699\n"," float_data: 0.050125814974308014\n"," float_data: 0.020598595961928368\n"," float_data: 0.057901062071323395\n"," float_data: -0.06437429785728455\n"," float_data: -0.015592400915920734\n"," float_data: 0.14860665798187256\n"," float_data: -0.10468282550573349\n"," float_data: -0.12643377482891083\n"," float_data: -0.16123637557029724\n"," float_data: 0.028019972145557404\n"," float_data: -0.1700768917798996\n"," float_data: 0.15781885385513306\n"," float_data: 0.12043140828609467\n"," float_data: -0.16491831839084625\n"," float_data: 0.36278823018074036\n"," float_data: -0.26660239696502686\n"," float_data: -0.14166858792304993\n"," float_data: 0.09534836560487747\n"," float_data: 0.06331297010183334\n"," float_data: -0.4256412386894226\n"," float_data: -0.09322820603847504\n"," float_data: 0.06773596256971359\n"," float_data: 0.1038305014371872\n"," float_data: 0.35421863198280334\n"," float_data: 0.010336420498788357\n"," float_data: -0.08088551461696625\n"," float_data: -0.05060804262757301\n"," float_data: -0.2010881006717682\n"," float_data: 0.021329276263713837\n"," float_data: 0.1840088665485382\n"," float_data: -0.16932892799377441\n"," float_data: 0.0222773514688015\n"," float_data: -0.10980163514614105\n"," float_data: -0.07443203032016754\n"," float_data: -0.5750479698181152\n"," float_data: 0.3537646532058716\n"," float_data: 0.12063731998205185\n"," float_data: 0.2054765373468399\n"," float_data: -0.03215046226978302\n"," float_data: 0.13241805136203766\n"," float_data: -0.2364823967218399\n"," float_data: -0.09282831102609634\n"," float_data: -0.12945803999900818\n"," float_data: 0.10844548046588898\n"," float_data: -0.47364747524261475\n"," float_data: -0.04701530933380127\n"," float_data: -0.24530808627605438\n"," float_data: -0.1156986802816391\n"," float_data: -0.18356169760227203\n"," float_data: 1.1861310005187988\n"," float_data: -0.21026891469955444\n"," float_data: -0.13719399273395538\n"," float_data: -0.08451486378908157\n"," float_data: 0.40660810470581055\n"," float_data: 0.16870488226413727\n"," float_data: 0.11400485038757324\n"," float_data: 0.12349721789360046\n"," float_data: -0.3552941679954529\n"," float_data: 0.19179904460906982\n"," float_data: -0.1850225329399109\n"," float_data: 0.06558170914649963\n"," float_data: 0.2002565711736679\n"," float_data: -0.08179304003715515\n"," float_data: -0.19173672795295715\n"," float_data: -0.08448340743780136\n"," float_data: -0.08531129360198975\n"," float_data: -0.0055637420155107975\n"," float_data: -0.2091681957244873\n"," float_data: 0.08557648211717606\n"," float_data: 0.0032148510217666626\n"," float_data: 0.03685230016708374\n"," float_data: 0.037803005427122116\n"," float_data: -0.12156190723180771\n"," float_data: 0.10448916256427765\n"," float_data: 0.023453611880540848\n"," float_data: -0.1100384071469307\n"," float_data: 0.05868661403656006\n"," float_data: -0.05548909679055214\n"," float_data: -0.0031452460680156946\n"," float_data: -0.09814894199371338\n"," float_data: 0.05643803998827934\n"," float_data: -0.08316357433795929\n"," float_data: -0.0712614357471466\n"," float_data: -0.33011290431022644\n"," float_data: 0.21189185976982117\n"," float_data: -0.034644365310668945\n"," float_data: 0.19138382375240326\n"," float_data: 0.12992684543132782\n"," float_data: 0.10623650252819061\n"," float_data: -0.23683488368988037\n"," float_data: 0.10848058015108109\n"," float_data: -0.3113672137260437\n"," float_data: 0.16969257593154907\n"," float_data: -0.07752825319766998\n"," float_data: 0.5105069875717163\n"," float_data: 0.1177474856376648\n"," float_data: 0.18304596841335297\n"," float_data: -0.1715136021375656\n"," float_data: 0.21025454998016357\n"," float_data: -0.29864707589149475\n"," float_data: 0.3801203668117523\n"," float_data: -0.012968609109520912\n"," float_data: 0.07246910780668259\n"," float_data: -0.26793164014816284\n"," float_data: 0.201850026845932\n"," float_data: -0.047206707298755646\n"," float_data: 0.1240856721997261\n"," float_data: -0.06640107929706573\n"," float_data: 0.06774567067623138\n"," float_data: -0.06560380011796951\n"," float_data: 0.056146081537008286\n"," float_data: -0.03337770700454712\n"," float_data: -0.04618610441684723\n"," float_data: -0.11172571033239365\n"," float_data: -0.005839026533067226\n"," float_data: 0.011888879351317883\n"," float_data: -0.020986517891287804\n"," float_data: 0.2505110502243042\n"," float_data: -0.10963255912065506\n"," float_data: -0.008053852245211601\n"," float_data: -0.23716501891613007\n"," float_data: -0.00417969049885869\n"," float_data: 0.21066942811012268\n"," float_data: -0.10300850123167038\n"," float_data: -0.08516135066747665\n"," float_data: -0.05449817702174187\n"," float_data: 0.17424049973487854\n"," float_data: 0.2634599506855011\n"," float_data: -0.15705397725105286\n"," float_data: -0.013422468677163124\n"," float_data: -0.13424603641033173\n"," float_data: 0.017209967598319054\n"," float_data: 0.10991669446229935\n"," float_data: 0.12187641859054565\n"," float_data: -0.1539606899023056\n"," float_data: 0.11919951438903809\n"," float_data: 0.040043748915195465\n"," float_data: 0.21384088695049286\n"," float_data: -0.1783691644668579\n"," float_data: 0.08698581904172897\n"," float_data: -0.24995124340057373\n"," float_data: -0.05743696540594101\n"," float_data: 0.048113759607076645\n"," float_data: -0.028344716876745224\n"," float_data: 0.03596768155694008\n"," float_data: -0.05402682349085808\n"," float_data: 0.03988547623157501\n"," float_data: 0.19367027282714844\n"," float_data: -0.08633040636777878\n"," float_data: 0.09535384923219681\n"," float_data: -0.08077926933765411\n"," float_data: 0.1263255774974823\n"," float_data: -0.10908278822898865\n"," float_data: -0.2935137450695038\n"," float_data: -0.07066411525011063\n"," float_data: -0.11034257709980011\n"," float_data: 0.32503363490104675\n"," float_data: 0.10948950052261353\n"," float_data: -0.042040541768074036\n"," float_data: 0.1846393644809723\n"," float_data: -0.08788450807332993\n"," float_data: -0.051259737461805344\n"," float_data: 0.09163495898246765\n"," float_data: -0.07313388586044312\n"," float_data: -0.10762644559144974\n"," float_data: 0.2127339243888855\n"," float_data: 0.21735820174217224\n"," float_data: 0.0853695496916771\n"," float_data: -0.24166391789913177\n"," float_data: 0.015557408332824707\n"," float_data: 0.14594785869121552\n"," float_data: 0.25281521677970886\n"," float_data: -0.09093687683343887\n"," float_data: 0.15102308988571167\n"," float_data: -0.04449621960520744\n"," float_data: 0.13443465530872345\n"," float_data: -0.12773896753787994\n"," float_data: -0.195957750082016\n"," float_data: 0.32714998722076416\n"," float_data: -0.3709736466407776\n"," float_data: -0.3606627881526947\n"," float_data: 0.1639021635055542\n"," float_data: -0.19797906279563904\n"," float_data: -0.21479395031929016\n"," float_data: 0.20640936493873596\n"," float_data: -0.12935905158519745\n"," float_data: -0.04810766130685806\n"," float_data: 0.11872942000627518\n"," float_data: -0.008912772871553898\n"," float_data: 0.06727704405784607\n"," float_data: -0.23403885960578918\n"," float_data: 0.004117777105420828\n"," float_data: -0.3485400676727295\n"," float_data: -0.307677298784256\n"," float_data: -0.12646032869815826\n"," float_data: -0.017402198165655136\n"," float_data: -0.04184497520327568\n"," float_data: 0.40265971422195435\n"," float_data: -0.17707951366901398\n"," float_data: 0.26457467675209045\n"," float_data: 0.17753338813781738\n"," float_data: 0.0377577506005764\n"," float_data: -0.04281865060329437\n"," float_data: -0.23177896440029144\n"," float_data: 0.059190891683101654\n"," float_data: -0.15604664385318756\n"," float_data: 0.012211055494844913\n"," float_data: 0.08957357704639435\n"," float_data: -0.17655152082443237\n"," float_data: 0.05512037128210068\n"," float_data: -0.16276082396507263\n"," float_data: 0.08664463460445404\n"," float_data: 0.407304048538208\n"," float_data: -0.2962677776813507\n"," float_data: -0.24978837370872498\n"," float_data: 0.14562276005744934\n"," float_data: 0.12931008636951447\n"," float_data: -0.4197147786617279\n"," float_data: 0.05457925796508789\n"," float_data: -0.1537359356880188\n"," float_data: 0.2251225709915161\n"," float_data: 0.08317271620035172\n"," float_data: -0.1624043583869934\n"," float_data: -0.09045402705669403\n"," float_data: 0.04738831892609596\n"," float_data: 0.12446752935647964\n"," float_data: -0.021907681599259377\n"," float_data: -0.09075671434402466\n"," float_data: -0.146789088845253\n"," float_data: -0.09902244061231613\n"," float_data: 0.1836661398410797\n"," float_data: 0.07499725371599197\n"," float_data: -0.24858562648296356\n"," float_data: 0.2710239887237549\n"," float_data: -0.03221258148550987\n"," float_data: 0.1332555115222931\n"," float_data: -0.060472261160612106\n"," float_data: 0.07604660838842392\n"," float_data: -0.17361874878406525\n"," float_data: 0.1807483732700348\n"," float_data: -0.3052387237548828\n"," float_data: 0.10779628157615662\n"," float_data: 0.007794092409312725\n"," float_data: 0.08706516772508621\n"," float_data: -0.28030669689178467\n"," float_data: -0.14289571344852448\n"," float_data: -0.5128602981567383\n"," float_data: 0.22543589770793915\n"," float_data: 0.12629014253616333\n"," float_data: 0.27167996764183044\n"," float_data: -0.042783282697200775\n"," float_data: -0.7475414872169495\n"," float_data: 0.048417821526527405\n"," float_data: 0.17133012413978577\n"," float_data: -0.2585906386375427\n"," float_data: 0.7726876139640808\n"," float_data: -0.3987360894680023\n"," float_data: -0.38234850764274597\n"," float_data: 0.5796756148338318\n"," float_data: -0.25540217757225037\n"," float_data: 0.7107363343238831\n"," float_data: -0.2512716054916382\n"," float_data: -0.08135175704956055\n"," float_data: 0.12713563442230225\n"," float_data: -0.06093304976820946\n"," float_data: 0.23330548405647278\n"," float_data: 0.028567597270011902\n"," float_data: -0.0943719819188118\n"," float_data: -0.1149260476231575\n"," float_data: 0.033605147153139114\n"," float_data: 0.19110143184661865\n"," float_data: -0.06929178535938263\n"," float_data: -0.04917209595441818\n"," float_data: -0.06851105391979218\n"," float_data: -0.05182645842432976\n"," float_data: -0.17628557980060577\n"," float_data: -0.18564371764659882\n"," float_data: -0.08843103796243668\n"," float_data: 0.15907913446426392\n"," float_data: 0.03697087615728378\n"," float_data: 0.08253259211778641\n"," float_data: 0.044572506099939346\n"," float_data: -0.026303235441446304\n"," float_data: -0.07067366689443588\n"," float_data: 0.10815569758415222\n"," float_data: 0.008186123333871365\n"," float_data: -0.17195309698581696\n"," float_data: 0.16080370545387268\n"," float_data: -0.07948866486549377\n"," float_data: 0.05230630189180374\n"," float_data: 0.22820840775966644\n"," float_data: -0.30551737546920776\n"," float_data: 0.10781540721654892\n"," float_data: 0.05490799620747566\n"," float_data: 0.4106053411960602\n"," float_data: 0.012804289348423481\n"," float_data: -0.1849522739648819\n"," float_data: 0.10083245486021042\n"," float_data: 0.02978093922138214\n"," float_data: -0.22310878336429596\n"," float_data: -0.10674408078193665\n"," float_data: -0.2864815294742584\n"," float_data: 0.0027282775845378637\n"," float_data: -0.01875963993370533\n"," float_data: 0.027877645567059517\n"," float_data: -0.028210364282131195\n"," float_data: 0.1770142912864685\n"," float_data: -0.001138067920692265\n"," float_data: -0.1693326085805893\n"," float_data: 0.04564179852604866\n"," float_data: -0.12622621655464172\n"," float_data: -0.09707339107990265\n"," float_data: -0.10689827054738998\n"," float_data: 0.06370469927787781\n"," float_data: -0.04921098053455353\n"," float_data: -0.1335354596376419\n"," float_data: -0.12757883965969086\n"," float_data: 0.02395796775817871\n"," float_data: 0.02175990864634514\n"," float_data: 0.07789098471403122\n"," float_data: -0.16637714207172394\n"," float_data: 0.22396282851696014\n"," float_data: 0.1878373920917511\n"," float_data: -0.12122247368097305\n"," float_data: 0.05983683839440346\n"," float_data: -0.12599875032901764\n"," float_data: -0.233385369181633\n"," float_data: -0.0732240080833435\n"," float_data: 0.0009943012846633792\n"," float_data: -0.015200548805296421\n"," float_data: -0.19849763810634613\n"," float_data: -0.18918472528457642\n"," float_data: 0.13618984818458557\n"," float_data: 0.21157395839691162\n"," float_data: -0.0220616664737463\n"," float_data: -0.016799481585621834\n"," float_data: 0.13569027185440063\n"," float_data: 0.10037214308977127\n"," float_data: 0.4547170102596283\n"," float_data: -0.16371849179267883\n"," float_data: -0.2288593351840973\n"," float_data: 0.017500076442956924\n"," float_data: -0.21339620649814606\n"," float_data: -0.09750917553901672\n"," float_data: 0.20197665691375732\n"," float_data: 0.26100361347198486\n"," float_data: 0.21527773141860962\n"," float_data: 0.14448322355747223\n"," float_data: 0.005367066245526075\n"," float_data: 0.1222701147198677\n"," float_data: -0.12429484724998474\n"," float_data: 0.015985839068889618\n"," float_data: -0.12777212262153625\n"," float_data: 0.0850759819149971\n"," float_data: -0.22391840815544128\n"," float_data: 0.0850975289940834\n"," float_data: -0.04477996751666069\n"," float_data: -0.0412040650844574\n"," float_data: -0.008552929386496544\n"," float_data: -0.10770280659198761\n"," float_data: -0.11422645300626755\n"," float_data: -0.15896610915660858\n"," float_data: 0.22284913063049316\n"," float_data: -0.11556100845336914\n"," float_data: -0.17280782759189606\n"," float_data: -0.01871800795197487\n"," float_data: -0.015931714326143265\n"," float_data: 0.01257331483066082\n"," float_data: 0.024434607475996017\n"," float_data: 0.14841261506080627\n"," float_data: 0.16672147810459137\n"," float_data: -0.21141651272773743\n"," float_data: 0.014692324213683605\n"," float_data: -0.19379322230815887\n"," float_data: -0.15269991755485535\n"," float_data: 0.17062611877918243\n"," float_data: 0.07471821457147598\n"," float_data: -0.11901752650737762\n"," float_data: -0.09921933710575104\n"," float_data: 0.03650322183966637\n"," float_data: 0.31105872988700867\n"," float_data: -0.095945805311203\n"," float_data: -0.10206720978021622\n"," float_data: 0.44936010241508484\n"," float_data: -0.1937129646539688\n"," float_data: 0.23877239227294922\n"," float_data: -0.1290832757949829\n"," float_data: 0.026861069723963737\n"," float_data: 0.25661391019821167\n"," float_data: -0.1987503618001938\n"," float_data: -0.12859177589416504\n"," float_data: -0.031512659043073654\n"," float_data: -0.10628928989171982\n"," float_data: -0.03808625787496567\n"," float_data: 0.032054152339696884\n"," float_data: -0.06235811486840248\n"," float_data: -0.08060873299837112\n"," float_data: 0.13318294286727905\n"," float_data: 0.08274532109498978\n"," float_data: 0.08219254016876221\n"," float_data: 0.031108645722270012\n"," float_data: 0.01071149855852127\n"," float_data: 0.030210349708795547\n"," float_data: -0.4619043469429016\n"," float_data: 0.183660626411438\n"," float_data: 0.021655142307281494\n"," float_data: -0.08007004112005234\n"," float_data: 0.016972532495856285\n"," float_data: -0.04425864666700363\n"," float_data: 0.07582885026931763\n"," float_data: 0.13842634856700897\n"," float_data: 0.23412728309631348\n"," float_data: -0.019941948354244232\n"," float_data: 0.06732668727636337\n"," float_data: -0.06974304467439651\n"," float_data: 0.05040986090898514\n"," float_data: 0.03805159404873848\n"," float_data: -0.12216798216104507\n"," float_data: -0.0871863067150116\n"," float_data: -0.06372346729040146\n"," float_data: 0.16974225640296936\n"," float_data: -0.11044168472290039\n"," float_data: 0.05904377996921539\n"," float_data: 0.4589851498603821\n"," float_data: -0.14396487176418304\n"," float_data: 0.15211798250675201\n"," float_data: 0.1446944624185562\n"," float_data: -0.07633928954601288\n"," float_data: -0.301066517829895\n"," float_data: -0.05285453796386719\n"," float_data: 0.23053640127182007\n"," float_data: -0.22420048713684082\n"," float_data: -0.10852871090173721\n"," float_data: -0.04728035256266594\n"," float_data: 0.1379842907190323\n"," float_data: -0.25233691930770874\n"," float_data: 0.15389811992645264\n"," float_data: -0.08159181475639343\n"," float_data: 0.17850467562675476\n"," float_data: 0.23593822121620178\n"," float_data: -0.1801925152540207\n"," float_data: 0.056355565786361694\n"," float_data: 0.1822410523891449\n"," float_data: -0.06071987375617027\n"," float_data: 0.03534381836652756\n"," float_data: -0.08384084701538086\n"," float_data: -0.00976612325757742\n"," float_data: -0.10582179576158524\n"," float_data: -0.10066009312868118\n"," float_data: 0.07382789254188538\n"," float_data: 0.16249482333660126\n"," float_data: 0.16254375874996185\n"," float_data: 0.07265857607126236\n"," float_data: -0.2674592435359955\n"," float_data: 0.06700117141008377\n"," float_data: 0.19563879072666168\n"," float_data: 0.1739630252122879\n"," float_data: -0.3320904076099396\n"," float_data: -0.21238672733306885\n"," float_data: 0.021490084007382393\n"," float_data: -0.04044990986585617\n"," float_data: 0.08285176753997803\n"," float_data: -0.04966937378048897\n"," float_data: -0.04228868708014488\n"," float_data: -0.0536111555993557\n"," float_data: 0.23467934131622314\n"," float_data: 0.27542030811309814\n"," float_data: 0.037422649562358856\n"," float_data: 0.23793713748455048\n"," float_data: 0.01468587014824152\n"," float_data: -0.10186164826154709\n"," float_data: 0.08472035825252533\n"," float_data: -0.05115465819835663\n"," float_data: 0.025491489097476006\n"," float_data: -0.3999477028846741\n"," float_data: 0.3439120948314667\n"," float_data: -0.07429708540439606\n"," float_data: 0.09824683517217636\n"," float_data: 0.1539658159017563\n"," float_data: -0.22974321246147156\n"," float_data: 0.18536338210105896\n"," float_data: 0.05532529205083847\n"," float_data: -0.027597852051258087\n"," float_data: -0.09406723827123642\n"," float_data: -0.11052313446998596\n"," float_data: -0.08326128870248795\n"," float_data: 0.16559477150440216\n"," float_data: 0.1928194761276245\n"," float_data: -0.1620512455701828\n"," float_data: -0.2846093475818634\n"," float_data: -0.0034706194419413805\n"," float_data: -0.10936824977397919\n"," float_data: 0.2654423713684082\n"," float_data: -0.033143553882837296\n"," float_data: -0.09331845492124557\n"," float_data: -0.1388392150402069\n"," float_data: 0.0708780586719513\n"," float_data: 0.25986340641975403\n"," float_data: 0.17230932414531708\n"," float_data: -0.25502511858940125\n"," float_data: -0.05669660493731499\n"," float_data: 0.0731472298502922\n"," float_data: -0.05990518257021904\n"," float_data: -0.09204932302236557\n"," float_data: -0.22543270885944366\n"," float_data: -0.15445184707641602\n"," float_data: -0.0011677690781652927\n"," float_data: 0.2669079899787903\n"," float_data: 0.12606631219387054\n"," float_data: 0.32223689556121826\n"," float_data: -0.12937554717063904\n"," float_data: 0.04105887562036514\n"," float_data: -0.15287844836711884\n"," float_data: 0.4675813913345337\n"," float_data: -0.2505764067173004\n"," float_data: -0.08077554404735565\n"," float_data: -0.14848989248275757\n"," float_data: 0.07388019561767578\n"," float_data: -0.3257356882095337\n"," float_data: -0.06754890829324722\n"," float_data: 0.007706445641815662\n"," float_data: -0.015723468735814095\n"," float_data: 0.23643121123313904\n"," float_data: 0.4631030261516571\n"," float_data: -0.27885568141937256\n"," float_data: -0.1492631435394287\n"," float_data: -0.0767640694975853\n"," float_data: 0.23566347360610962\n"," float_data: -0.051554158329963684\n"," float_data: 0.5022464990615845\n"," float_data: -0.5206839442253113\n"," float_data: 0.009283848106861115\n"," float_data: -0.010786342434585094\n"," float_data: 0.3839424252510071\n"," float_data: -0.15789054334163666\n"," float_data: 0.02677026577293873\n"," float_data: -0.2508058249950409\n"," float_data: 0.13371799886226654\n"," float_data: 0.01412013079971075\n"," float_data: -0.22811226546764374\n"," float_data: 0.38083457946777344\n"," float_data: 0.08238974958658218\n"," float_data: -0.05035298317670822\n"," float_data: -0.2795805037021637\n"," float_data: 0.14998027682304382\n"," float_data: -0.12901055812835693\n"," float_data: 0.10194721817970276\n"," float_data: -0.0892038568854332\n"," float_data: -0.08002103865146637\n"," float_data: 0.006870552897453308\n"," float_data: -0.14488966763019562\n"," float_data: -0.11827981472015381\n"," float_data: 0.0864274725317955\n"," float_data: -0.1233612522482872\n"," float_data: 0.390457421541214\n"," float_data: 0.0030750755686312914\n"," float_data: -0.04973769932985306\n"," float_data: -0.21880492568016052\n"," float_data: 0.15311329066753387\n"," float_data: 0.13388670980930328\n"," float_data: 0.115469790995121\n"," float_data: -0.0321183018386364\n"," float_data: -0.10503150522708893\n"," float_data: 0.20968613028526306\n"," float_data: -0.0288278479129076\n"," float_data: -0.22620263695716858\n"," float_data: 0.09677295386791229\n"," float_data: -0.2204635739326477\n"," float_data: 0.12297569215297699\n"," float_data: -0.13909941911697388\n"," float_data: 0.0429757684469223\n"," float_data: -0.0989556834101677\n"," float_data: 0.06527819484472275\n"," float_data: 0.02929968200623989\n"," float_data: 0.08586366474628448\n"," float_data: -0.1973244994878769\n"," float_data: 0.09793020039796829\n"," float_data: -0.02709382213652134\n"," float_data: -0.14886660873889923\n"," float_data: -0.025338076055049896\n"," float_data: 0.23911428451538086\n"," float_data: -0.013518177904188633\n"," float_data: -0.09968999773263931\n"," float_data: -0.09116115421056747\n"," float_data: 0.01607680693268776\n"," float_data: 0.2772478461265564\n"," float_data: -0.10512595623731613\n"," float_data: -0.09591133892536163\n"," float_data: 0.042364586144685745\n"," float_data: -0.05058242008090019\n"," float_data: -0.21266046166419983\n"," float_data: 0.11773531138896942\n"," float_data: 0.05306953564286232\n"," float_data: -0.14792640507221222\n"," float_data: -0.026770180091261864\n"," float_data: 0.09337057173252106\n"," float_data: -0.10149379819631577\n"," float_data: -0.0242353193461895\n"," float_data: 0.05025006830692291\n"," float_data: -0.009657176211476326\n"," float_data: 0.10595931112766266\n"," float_data: 0.0803910568356514\n"," float_data: -0.149536594748497\n"," float_data: 0.0721006840467453\n"," float_data: 0.08221825957298279\n"," float_data: -0.09306750446557999\n"," float_data: 0.09325151890516281\n"," float_data: -0.27938002347946167\n"," float_data: -0.009776020422577858\n"," float_data: 0.162580206990242\n"," float_data: 0.04543449357151985\n"," float_data: -0.0019841354805976152\n"," float_data: -0.068880096077919\n"," float_data: -0.18597717583179474\n"," float_data: 0.004596976097673178\n"," float_data: -0.20701946318149567\n"," float_data: 0.05681125819683075\n"," float_data: 0.16298770904541016\n"," float_data: -0.15762606263160706\n"," float_data: -0.10010696202516556\n"," float_data: 0.06836190074682236\n"," float_data: -0.08382602035999298\n"," float_data: 0.062018394470214844\n"," float_data: -0.2608189582824707\n"," float_data: -0.18282723426818848\n"," float_data: -0.1546434611082077\n"," float_data: 0.22141213715076447\n"," float_data: 0.2976933717727661\n"," float_data: 0.14205670356750488\n"," float_data: 0.026995737105607986\n"," float_data: -0.18853436410427094\n"," float_data: -0.10416852682828903\n"," float_data: 0.11187917739152908\n"," float_data: 0.19259010255336761\n"," float_data: 0.1210326999425888\n"," float_data: 0.0038817846216261387\n"," float_data: -0.041807178407907486\n"," float_data: -0.12812112271785736\n"," float_data: 0.006340083200484514\n"," float_data: -0.1242712140083313\n"," float_data: -0.05376539006829262\n"," float_data: -0.059502746909856796\n"," float_data: 0.03387151658535004\n"," float_data: 0.27369076013565063\n"," float_data: -0.006760495249181986\n"," float_data: -0.09814820438623428\n"," float_data: -0.03064030222594738\n"," float_data: 0.10129426419734955\n"," float_data: 0.069086454808712\n"," float_data: -0.021286148577928543\n"," float_data: -0.20684118568897247\n"," float_data: 0.16031168401241302\n"," float_data: 0.5048815608024597\n"," float_data: 0.12490677833557129\n"," float_data: -0.11521049588918686\n"," float_data: -0.22555382549762726\n"," float_data: -0.014399556443095207\n"," float_data: 0.09113757312297821\n"," float_data: -0.1552465260028839\n"," float_data: -0.20916877686977386\n"," float_data: -0.09535613656044006\n"," float_data: -0.3157613277435303\n"," float_data: 0.15782271325588226\n"," float_data: -0.13757431507110596\n"," float_data: 0.11036566644906998\n"," float_data: 0.0007674915832467377\n"," float_data: 0.17525681853294373\n"," float_data: 0.2874178886413574\n"," float_data: 0.16137345135211945\n"," float_data: -0.18702073395252228\n"," float_data: -0.08509460836648941\n"," float_data: -0.25501564145088196\n"," float_data: 0.10049008578062057\n"," float_data: -0.08878795802593231\n"," float_data: 0.01656375452876091\n"," float_data: -0.06512349843978882\n"," float_data: 0.13714613020420074\n"," float_data: -0.25240448117256165\n"," float_data: 0.2420269250869751\n"," float_data: 0.2075420320034027\n"," float_data: -0.043716225773096085\n"," float_data: 0.2585706114768982\n"," float_data: 0.17742082476615906\n"," float_data: 0.13465921580791473\n"," float_data: -0.3194114565849304\n"," float_data: -0.024934323504567146\n"," float_data: -0.24737225472927094\n"," float_data: -0.22842465341091156\n"," float_data: 0.2935566008090973\n"," float_data: -0.15836350619792938\n"," float_data: -0.004522630013525486\n"," float_data: 0.07202397286891937\n"," float_data: 0.32167965173721313\n"," float_data: 0.07131728529930115\n"," float_data: -0.002297147875651717\n"," float_data: -0.10701901465654373\n"," float_data: 0.16870470345020294\n"," float_data: -0.000938170007430017\n"," float_data: 0.2704542577266693\n"," float_data: -0.10694101452827454\n"," float_data: -0.2694871425628662\n"," float_data: -0.09339971840381622\n"," float_data: -0.3539048731327057\n"," float_data: -0.30095797777175903\n"," float_data: 0.3522149622440338\n"," float_data: -0.06632636487483978\n"," float_data: -0.3175421357154846\n"," float_data: -0.22773690521717072\n"," float_data: -0.05521746352314949\n"," float_data: 0.47632256150245667\n"," float_data: 0.3150201141834259\n"," float_data: 0.0073163448832929134\n"," float_data: -0.3858858346939087\n"," float_data: -0.10069706290960312\n"," float_data: 0.14946478605270386\n"," float_data: 0.0311017744243145\n"," float_data: 0.08539603650569916\n"," float_data: 0.08982737362384796\n"," float_data: -0.02532820589840412\n"," float_data: -0.0979878380894661\n"," float_data: 0.26106876134872437\n"," float_data: 0.1970941424369812\n"," float_data: -0.007667355239391327\n"," float_data: 0.4941043555736542\n"," float_data: -0.18313318490982056\n"," float_data: 0.11132648587226868\n"," float_data: -0.09027718007564545\n"," float_data: 0.16763785481452942\n"," float_data: -0.2332615852355957\n"," float_data: -0.2187729924917221\n"," float_data: -0.1979120969772339\n"," float_data: 0.12164478003978729\n"," float_data: 0.0678805410861969\n"," float_data: 0.14465822279453278\n"," float_data: -0.22007320821285248\n"," float_data: -0.046480294317007065\n"," float_data: -0.020698459818959236\n"," float_data: 0.0012789309257641435\n"," float_data: 0.14212997257709503\n"," float_data: -0.2508954107761383\n"," float_data: 0.015442886389791965\n"," float_data: 0.34519049525260925\n"," float_data: -0.3463636040687561\n"," float_data: 0.020897381007671356\n"," float_data: 0.308485209941864\n"," float_data: 0.05864270403981209\n"," float_data: 0.0465850830078125\n"," float_data: 0.22139060497283936\n"," float_data: -0.12406574189662933\n"," float_data: -0.07770483940839767\n"," float_data: -0.07477109134197235\n"," float_data: -0.10737532377243042\n"," float_data: -0.07447075098752975\n"," float_data: -0.03775274381041527\n"," float_data: 0.06398295611143112\n"," float_data: 0.11340250074863434\n"," float_data: -0.13752226531505585\n"," float_data: 0.16645881533622742\n"," float_data: 0.032555483281612396\n"," float_data: 0.1076330617070198\n"," float_data: -0.04083859547972679\n"," float_data: -0.002472958993166685\n"," float_data: 0.30685335397720337\n"," float_data: -0.16834674775600433\n"," float_data: -0.28403300046920776\n"," float_data: 0.3573448061943054\n"," float_data: 0.15544481575489044\n"," float_data: 0.18260958790779114\n"," float_data: 0.14618194103240967\n"," float_data: -0.1803128570318222\n"," float_data: -0.24402332305908203\n"," float_data: -0.06737913191318512\n"," float_data: 0.14641498029232025\n"," float_data: -0.031270045787096024\n"," float_data: -0.37890535593032837\n"," float_data: 0.3647189438343048\n"," float_data: 0.0882156640291214\n"," float_data: -0.07255268096923828\n"," float_data: -0.07019823044538498\n"," float_data: 0.007762200199067593\n"," float_data: -0.42886534333229065\n"," float_data: -0.09201286733150482\n"," float_data: 0.3917020559310913\n"," float_data: -0.3115781843662262\n"," float_data: -0.11496226489543915\n"," float_data: 0.23937633633613586\n"," float_data: 0.08160382509231567\n"," float_data: 0.09224272519350052\n"," float_data: -0.0802583396434784\n"," float_data: -0.0678519532084465\n"," float_data: -0.32147955894470215\n"," float_data: 0.21147914230823517\n"," float_data: -0.13341481983661652\n"," float_data: -0.23506885766983032\n"," float_data: -0.1792272925376892\n"," float_data: 0.06087573245167732\n"," float_data: -0.042891982942819595\n"," float_data: 0.21714238822460175\n"," float_data: -0.20626701414585114\n"," float_data: 0.201058492064476\n"," float_data: 0.08075398206710815\n"," float_data: 0.22411735355854034\n"," float_data: -0.5786503553390503\n"," float_data: -0.04809611663222313\n"," float_data: -0.23671020567417145\n"," float_data: 0.3372442126274109\n"," float_data: 0.1426411122083664\n"," float_data: 0.2969563603401184\n"," float_data: -0.26952123641967773\n"," float_data: 0.05077838897705078\n"," float_data: -0.014964457601308823\n"," float_data: -0.13562652468681335\n"," float_data: 0.01567445881664753\n"," float_data: 0.0140603706240654\n"," float_data: 0.5402702689170837\n"," float_data: -0.4253346621990204\n"," float_data: -0.25925618410110474\n"," float_data: 0.05792998895049095\n"," float_data: 0.2636577785015106\n"," float_data: 0.0803728848695755\n"," float_data: -0.2428169548511505\n"," float_data: 0.12061206251382828\n"," float_data: 0.08989693224430084\n"," float_data: 0.48931244015693665\n"," float_data: 0.1791509985923767\n"," float_data: -0.06046198308467865\n"," float_data: -0.6824105978012085\n"," float_data: -0.26326984167099\n"," float_data: -0.13821011781692505\n"," float_data: 0.2801009714603424\n"," float_data: 0.1360350400209427\n"," float_data: 0.2786049246788025\n"," float_data: -0.14275643229484558\n"," float_data: -0.36448442935943604\n"," float_data: 0.010670091956853867\n"," float_data: -0.046446166932582855\n"," float_data: -0.11217294633388519\n"," float_data: 0.23060870170593262\n"," float_data: -0.07024101167917252\n"," float_data: 0.25122159719467163\n"," float_data: 0.11865705251693726\n"," float_data: 0.28948208689689636\n"," float_data: -0.313789427280426\n"," float_data: 0.11246306449174881\n"," float_data: -0.5164400935173035\n"," float_data: 0.35746052861213684\n"," float_data: -0.19319528341293335\n"," float_data: -0.176599383354187\n"," float_data: -0.04791129007935524\n"," float_data: 0.15526244044303894\n"," float_data: 0.36664366722106934\n"," float_data: -0.0984550416469574\n"," float_data: -0.04675954580307007\n"," float_data: 0.1959601491689682\n"," float_data: -0.13349436223506927\n"," float_data: -0.05451425537467003\n"," float_data: -0.008563932031393051\n"," float_data: -0.20475971698760986\n"," float_data: -0.2049769014120102\n"," float_data: -0.1733294427394867\n"," float_data: 0.03330576792359352\n"," float_data: -0.05876636877655983\n"," float_data: -0.004854856990277767\n"," float_data: -0.18974217772483826\n"," float_data: 0.11875621229410172\n"," float_data: -0.09086247533559799\n"," float_data: 0.09426683932542801\n"," float_data: 0.141457200050354\n"," float_data: 0.22083529829978943\n"," float_data: 0.027623698115348816\n"," float_data: -0.056197039783000946\n"," float_data: 0.15862946212291718\n"," float_data: -0.14439880847930908\n"," float_data: 0.16444502770900726\n"," float_data: -0.15297940373420715\n"," float_data: -0.16705329716205597\n"," float_data: 0.0419013574719429\n"," float_data: -0.09198348224163055\n"," float_data: 0.09570011496543884\n"," float_data: -0.026340976357460022\n"," float_data: -0.04415898025035858\n"," float_data: -0.17436644434928894\n"," float_data: 0.28419384360313416\n"," float_data: -0.48536404967308044\n"," float_data: -0.2941833734512329\n"," float_data: 0.26253727078437805\n"," float_data: -0.08815394341945648\n"," float_data: -0.21333570778369904\n"," float_data: 0.44291430711746216\n"," float_data: -0.10060562193393707\n"," float_data: 0.3944021761417389\n"," float_data: -0.5511215925216675\n"," float_data: 0.0595761314034462\n"," float_data: -0.15330703556537628\n"," float_data: 0.1334509551525116\n"," float_data: 0.4730198085308075\n"," float_data: 0.045674946159124374\n"," float_data: -0.18965916335582733\n"," float_data: 0.5464207530021667\n"," float_data: -0.34921783208847046\n"," float_data: 0.5029051303863525\n"," float_data: -0.26586171984672546\n"," float_data: -0.07932215929031372\n"," float_data: -0.38509365916252136\n"," float_data: 0.306330144405365\n"," float_data: 0.1669301688671112\n"," float_data: 0.09887411445379257\n"," float_data: -0.009195773862302303\n"," float_data: 0.05586295947432518\n"," float_data: 0.2254362851381302\n"," float_data: 0.03526006266474724\n"," float_data: -0.05456982180476189\n"," float_data: -0.004949362948536873\n"," float_data: -0.13237394392490387\n"," float_data: -0.1019972413778305\n"," float_data: 0.031114520505070686\n"," float_data: -0.030299635604023933\n"," float_data: -0.0845131129026413\n"," float_data: -0.03793569654226303\n"," float_data: -0.10391715914011002\n"," float_data: -0.09681081026792526\n"," float_data: -0.10136457532644272\n"," float_data: 0.3237247169017792\n"," float_data: -0.26862502098083496\n"," float_data: 0.04975844919681549\n"," float_data: 0.10625903308391571\n"," float_data: 0.005191474687308073\n"," float_data: -0.16198328137397766\n"," float_data: 0.10068260878324509\n"," float_data: -0.05405198410153389\n"," float_data: -0.21035270392894745\n"," float_data: 0.11951063573360443\n"," float_data: 0.26177337765693665\n"," float_data: -0.13579213619232178\n"," float_data: 0.007991873659193516\n"," float_data: 0.3645215630531311\n"," float_data: -0.29055240750312805\n"," float_data: 0.1512192189693451\n"," float_data: 0.030905799940228462\n"," float_data: 0.09095589071512222\n"," float_data: -0.46284013986587524\n"," float_data: -0.2177375853061676\n"," float_data: -0.0051029580645263195\n"," float_data: 0.1456194818019867\n"," float_data: 0.21441659331321716\n"," float_data: 0.20603126287460327\n"," float_data: -0.14123064279556274\n"," float_data: 0.15815362334251404\n"," float_data: -0.008715899661183357\n"," float_data: -0.09810589998960495\n"," float_data: 0.07947159558534622\n"," float_data: -0.1396624892950058\n"," float_data: 0.06173152104020119\n"," float_data: 0.06710177659988403\n"," float_data: -0.0168836060911417\n"," float_data: 0.09883078932762146\n"," float_data: -0.055880848318338394\n"," float_data: 0.015354502946138382\n"," float_data: 0.1356501281261444\n"," float_data: -0.12509557604789734\n"," float_data: -0.03241462633013725\n"," float_data: 0.06814441084861755\n"," float_data: 0.05154133215546608\n"," float_data: -0.0895727127790451\n"," float_data: -0.1934402883052826\n"," float_data: 0.0401373952627182\n"," float_data: 0.1261255145072937\n"," float_data: -0.020913315936923027\n"," float_data: 0.038300253450870514\n"," float_data: -0.2683873474597931\n"," float_data: -0.16769985854625702\n"," float_data: 0.1331944316625595\n"," float_data: 0.19525298476219177\n"," float_data: -0.027079153805971146\n"," float_data: -0.013697702437639236\n"," float_data: 0.14909052848815918\n"," float_data: -0.110247902572155\n"," float_data: -0.2676020860671997\n"," float_data: 0.1705501526594162\n"," float_data: -0.310339093208313\n"," float_data: -0.13031157851219177\n"," float_data: 0.049299806356430054\n"," float_data: -0.15910914540290833\n"," float_data: -0.015621941536664963\n"," float_data: 0.051220934838056564\n"," float_data: 0.1397838294506073\n"," float_data: -0.10535258799791336\n"," float_data: -0.1477993130683899\n"," float_data: -0.16875022649765015\n"," float_data: -0.07669683545827866\n"," float_data: 0.2505059838294983\n"," float_data: -0.003003362100571394\n"," float_data: -0.17799164354801178\n"," float_data: 0.012229104526340961\n"," float_data: -0.057500436902046204\n"," float_data: -0.11040540039539337\n"," float_data: -0.025702932849526405\n"," float_data: 0.07205810397863388\n"," float_data: 0.12881679832935333\n"," float_data: -0.10760212689638138\n"," float_data: -0.03777306154370308\n"," float_data: -0.14218011498451233\n"," float_data: -0.014339782297611237\n"," float_data: -0.11233339458703995\n"," float_data: 0.37255966663360596\n"," float_data: -0.20897512137889862\n"," float_data: 0.13931065797805786\n"," float_data: -0.10883304476737976\n"," float_data: 0.20645785331726074\n"," float_data: -0.13647018373012543\n"," float_data: -0.02010585553944111\n"," float_data: 0.053795989602804184\n"," float_data: 0.11486411839723587\n"," float_data: -0.05933515354990959\n"," float_data: -0.28662779927253723\n"," float_data: -0.19730667769908905\n"," float_data: 0.25923246145248413\n"," float_data: -0.04497561603784561\n"," float_data: 0.12898068130016327\n"," float_data: -0.03302007541060448\n"," float_data: 0.10402760654687881\n"," float_data: -0.10494498908519745\n"," float_data: -0.3614307940006256\n"," float_data: -0.4078723192214966\n"," float_data: 0.5328720808029175\n"," float_data: -0.44163015484809875\n"," float_data: 0.47309404611587524\n"," float_data: 0.23118089139461517\n"," float_data: -0.3363891839981079\n"," float_data: 0.4044477045536041\n"," float_data: -0.15813294053077698\n"," float_data: -0.09723250567913055\n"," float_data: -0.05658591911196709\n"," float_data: -0.08435302972793579\n"," float_data: -0.07144183665513992\n"," float_data: 0.15618644654750824\n"," float_data: 0.18153110146522522\n"," float_data: -0.1671576052904129\n"," float_data: -0.09456442296504974\n"," float_data: -0.12079601734876633\n"," float_data: 0.018837355077266693\n"," float_data: 0.16263948380947113\n"," float_data: -0.06784000992774963\n"," float_data: 0.058575745671987534\n"," float_data: -0.043042536824941635\n"," float_data: 0.14250025153160095\n"," float_data: -0.1621142029762268\n"," float_data: -0.18563970923423767\n"," float_data: 0.0597509890794754\n"," float_data: 0.2678234875202179\n"," float_data: -0.027795419096946716\n"," float_data: -0.13153494894504547\n"," float_data: 0.17513103783130646\n"," float_data: -0.1507090926170349\n"," float_data: 0.13053220510482788\n"," float_data: -0.17058800160884857\n"," float_data: 0.0779305025935173\n"," float_data: -0.28522345423698425\n"," float_data: 0.12220115959644318\n"," float_data: -0.09262830018997192\n"," float_data: 0.13721340894699097\n"," float_data: -0.2029872089624405\n"," float_data: 0.003512923838570714\n"," float_data: 0.1880211979150772\n"," float_data: 0.02848992869257927\n"," float_data: -0.009427144192159176\n"," float_data: 0.022699449211359024\n"," float_data: -0.09827877581119537\n"," float_data: -0.1805722713470459\n"," float_data: 0.46772533655166626\n"," float_data: -0.1624213457107544\n"," float_data: 0.10067939013242722\n"," float_data: -0.019546231254935265\n"," float_data: -0.07091809809207916\n"," float_data: -0.04211652651429176\n"," float_data: 0.007391056045889854\n"," float_data: -0.052871450781822205\n"," float_data: -0.1158294752240181\n"," float_data: -0.12623220682144165\n"," float_data: 0.05992994084954262\n"," float_data: -0.14322011172771454\n"," float_data: -0.10446105152368546\n"," float_data: 0.04127275198698044\n"," float_data: 0.11714762449264526\n"," float_data: -0.12007235735654831\n"," float_data: 0.1760271042585373\n"," float_data: -0.17530688643455505\n"," float_data: 0.2577372193336487\n"," float_data: 0.1681281328201294\n"," float_data: -0.019192496314644814\n"," float_data: -0.19235984981060028\n"," float_data: -0.1477588564157486\n"," float_data: 0.14749203622341156\n"," float_data: -0.23672394454479218\n"," float_data: 0.10819783061742783\n"," float_data: 0.0528017058968544\n"," float_data: -0.25382426381111145\n"," float_data: 0.3942755460739136\n"," float_data: -0.007429537829011679\n"," float_data: -0.12073516845703125\n"," float_data: -0.1386883705854416\n"," float_data: -0.09763137996196747\n"," float_data: 0.048587799072265625\n"," float_data: -0.17216959595680237\n"," float_data: 0.05367553234100342\n"," float_data: 0.06697092205286026\n"," float_data: 0.02216830477118492\n"," float_data: -0.00030509542557410896\n"," float_data: -0.03204747661948204\n"," float_data: -0.05957604944705963\n"," float_data: 0.06665488332509995\n"," float_data: 0.03787767142057419\n"," float_data: -0.072029247879982\n"," float_data: -0.014508004300296307\n"," float_data: -0.09897033870220184\n"," float_data: -0.0582190677523613\n"," float_data: -0.06957041472196579\n"," float_data: -0.06247461959719658\n"," float_data: -0.10950496792793274\n"," float_data: 0.13651923835277557\n"," float_data: 0.10640163719654083\n"," float_data: -0.16996562480926514\n"," float_data: -0.19217419624328613\n"," float_data: -0.31112247705459595\n"," float_data: -0.06670261174440384\n"," float_data: 0.26814502477645874\n"," float_data: -0.18611367046833038\n"," float_data: 0.39766421914100647\n"," float_data: 0.02332381159067154\n"," float_data: 0.05767787992954254\n"," float_data: 0.21727587282657623\n"," float_data: 0.26092052459716797\n"," float_data: 0.0665898397564888\n"," float_data: 0.0050725629553198814\n"," float_data: -0.5116416811943054\n"," float_data: -0.036236438900232315\n"," float_data: 0.13016054034233093\n"," float_data: 0.27805688977241516\n"," float_data: 0.03227982670068741\n"," float_data: -0.37316036224365234\n"," float_data: 0.012584247626364231\n"," float_data: -0.2893730700016022\n"," float_data: 0.26432105898857117\n"," float_data: -0.19136705994606018\n"," float_data: 0.06407898664474487\n"," float_data: 0.4371691048145294\n"," float_data: -0.37601014971733093\n"," float_data: -0.11794907599687576\n"," float_data: 0.2714056074619293\n"," float_data: 0.07839961349964142\n"," float_data: -0.10618531703948975\n"," float_data: 0.05727149546146393\n"," float_data: -0.025094496086239815\n"," float_data: -0.032552920281887054\n"," float_data: -0.09845414012670517\n"," float_data: -0.04288288578391075\n"," float_data: 0.06692660599946976\n"," float_data: 0.019280241802334785\n"," float_data: 0.12945666909217834\n"," float_data: -0.13146249949932098\n"," float_data: 0.10157602280378342\n"," float_data: 0.39481303095817566\n"," float_data: -0.2198140174150467\n"," float_data: -0.3305916488170624\n"," float_data: -0.2594653069972992\n"," float_data: -0.025741614401340485\n"," float_data: -0.1876814216375351\n"," float_data: 0.0401863195002079\n"," float_data: 0.517649233341217\n"," float_data: -0.03229093924164772\n"," float_data: 0.03310152515769005\n"," float_data: -0.06631464511156082\n"," float_data: 0.3695562183856964\n"," float_data: 0.08639432489871979\n"," float_data: -0.21739579737186432\n"," float_data: -0.32757076621055603\n"," float_data: 0.20337849855422974\n"," float_data: 0.04164079576730728\n"," float_data: -0.037312284111976624\n"," float_data: 0.2564018964767456\n"," float_data: -0.2610512375831604\n"," float_data: 0.29753121733665466\n"," float_data: -0.13256239891052246\n"," float_data: 0.3487018942832947\n"," float_data: -0.4000661373138428\n"," float_data: -0.023854920640587807\n"," float_data: 0.1528821736574173\n"," float_data: -0.35060834884643555\n"," float_data: 0.4014970362186432\n"," float_data: -0.005652683787047863\n"," float_data: -0.255825936794281\n"," float_data: -0.03075651079416275\n"," float_data: -0.12134594470262527\n"," float_data: -0.14143721759319305\n"," float_data: 0.05910177528858185\n"," float_data: -0.08720672130584717\n"," float_data: 0.09060525894165039\n"," float_data: 0.009084035642445087\n"," float_data: 0.006501815747469664\n"," float_data: 0.00593680702149868\n"," float_data: -0.008353408426046371\n"," float_data: -0.1778673529624939\n"," float_data: 0.45000123977661133\n"," float_data: -0.155264750123024\n"," float_data: -0.2107311338186264\n"," float_data: 0.06659012287855148\n"," float_data: 0.16235144436359406\n"," float_data: -0.06506900489330292\n"," float_data: 0.0013953248271718621\n"," float_data: -0.18484102189540863\n"," float_data: -0.1127871423959732\n"," float_data: -0.1005692258477211\n"," float_data: 0.09815281629562378\n"," float_data: -0.20032277703285217\n"," float_data: 0.0055577936582267284\n"," float_data: 0.3638778626918793\n"," float_data: 0.11251764744520187\n"," float_data: -0.4635980427265167\n"," float_data: 0.061428215354681015\n"," float_data: -0.37369653582572937\n"," float_data: 0.518852174282074\n"," float_data: 0.12878790497779846\n"," float_data: -0.11820309609174728\n"," float_data: -0.13900822401046753\n"," float_data: 0.20781944692134857\n"," float_data: -0.2720746695995331\n"," float_data: 0.2698860466480255\n"," float_data: -0.22185003757476807\n"," float_data: 0.23510172963142395\n"," float_data: -0.03656299039721489\n"," float_data: 0.122023805975914\n"," name: \"Parameter193\"\n"," }\n"," initializer {\n"," dims: 16\n"," dims: 8\n"," dims: 5\n"," dims: 5\n"," data_type: 1\n"," float_data: -0.0485563650727272\n"," float_data: -0.09101364016532898\n"," float_data: -0.006567917298525572\n"," float_data: -0.128403440117836\n"," float_data: 0.10890022665262222\n"," float_data: 0.08424150198698044\n"," float_data: -0.1683894395828247\n"," float_data: -0.27132806181907654\n"," float_data: -0.019025469198822975\n"," float_data: 0.0692625641822815\n"," float_data: 0.039750680327415466\n"," float_data: -0.011775517836213112\n"," float_data: -0.06318891793489456\n"," float_data: -0.15085993707180023\n"," float_data: -0.11244388669729233\n"," float_data: 0.06987237185239792\n"," float_data: 0.0007687737816013396\n"," float_data: 0.08335787802934647\n"," float_data: -0.18104656040668488\n"," float_data: -0.11850579082965851\n"," float_data: 0.0033806723076850176\n"," float_data: 0.2513008415699005\n"," float_data: 0.19361533224582672\n"," float_data: -0.05452343448996544\n"," float_data: -0.12814028561115265\n"," float_data: -0.4240483343601227\n"," float_data: -0.2706243395805359\n"," float_data: -0.2594493627548218\n"," float_data: 0.08103776723146439\n"," float_data: 0.08797059208154678\n"," float_data: 0.00970472302287817\n"," float_data: -0.229428231716156\n"," float_data: -0.06401660293340683\n"," float_data: 0.021817907691001892\n"," float_data: -0.04962887242436409\n"," float_data: 0.16946658492088318\n"," float_data: 0.23561102151870728\n"," float_data: -0.019434919580817223\n"," float_data: -0.1350330263376236\n"," float_data: -0.042808786034584045\n"," float_data: -0.06604431569576263\n"," float_data: 0.18613818287849426\n"," float_data: 0.18148548901081085\n"," float_data: -0.14488591253757477\n"," float_data: 0.0301041416823864\n"," float_data: -0.13984766602516174\n"," float_data: 0.11360441893339157\n"," float_data: 0.1050480380654335\n"," float_data: 0.051293082535266876\n"," float_data: 0.05778695270419121\n"," float_data: -0.1550651639699936\n"," float_data: -0.13397930562496185\n"," float_data: 0.0788629949092865\n"," float_data: 0.11649572849273682\n"," float_data: -0.13530519604682922\n"," float_data: -0.12452050298452377\n"," float_data: -0.2071416676044464\n"," float_data: -0.14239712059497833\n"," float_data: -0.06145666539669037\n"," float_data: -0.0848151445388794\n"," float_data: -0.18943579494953156\n"," float_data: -0.22062841057777405\n"," float_data: -0.21656720340251923\n"," float_data: -0.08668345212936401\n"," float_data: 0.06490638852119446\n"," float_data: -0.25929775834083557\n"," float_data: -0.10393436998128891\n"," float_data: -0.33296993374824524\n"," float_data: -0.13464973866939545\n"," float_data: -0.03164593502879143\n"," float_data: 0.028283342719078064\n"," float_data: 0.08956132084131241\n"," float_data: -0.10871702432632446\n"," float_data: -0.18743896484375\n"," float_data: -0.22380830347537994\n"," float_data: 0.10318344831466675\n"," float_data: -0.04760589823126793\n"," float_data: -0.026498841121792793\n"," float_data: -0.021494023501873016\n"," float_data: 0.02870049700140953\n"," float_data: 0.047858599573373795\n"," float_data: -0.0015511958627030253\n"," float_data: 0.10386131703853607\n"," float_data: -0.08803610503673553\n"," float_data: -0.05492853373289108\n"," float_data: 0.0767126977443695\n"," float_data: 0.026416394859552383\n"," float_data: -0.2577744424343109\n"," float_data: -0.2845146059989929\n"," float_data: -0.20862248539924622\n"," float_data: 0.017891256138682365\n"," float_data: 0.06780456006526947\n"," float_data: -0.03435538709163666\n"," float_data: -0.3046033978462219\n"," float_data: -0.12663622200489044\n"," float_data: -0.010425187647342682\n"," float_data: 0.11742118000984192\n"," float_data: 0.16988778114318848\n"," float_data: -0.06706076860427856\n"," float_data: 0.05505189672112465\n"," float_data: 0.17483898997306824\n"," float_data: -0.06551364064216614\n"," float_data: -0.13898248970508575\n"," float_data: -0.308615118265152\n"," float_data: -0.1045035645365715\n"," float_data: 0.09251601994037628\n"," float_data: 0.2999582886695862\n"," float_data: 0.06113322824239731\n"," float_data: -0.2238905280828476\n"," float_data: -0.21774233877658844\n"," float_data: -0.0867142379283905\n"," float_data: 0.03453875705599785\n"," float_data: 0.12183117866516113\n"," float_data: -0.14342059195041656\n"," float_data: -0.14133720099925995\n"," float_data: -0.42325878143310547\n"," float_data: -0.035403620451688766\n"," float_data: 0.05317186191678047\n"," float_data: 0.024188712239265442\n"," float_data: -0.016071122139692307\n"," float_data: -0.12040923535823822\n"," float_data: -0.1626027375459671\n"," float_data: -0.09674572199583054\n"," float_data: 0.03565060719847679\n"," float_data: 0.01352375466376543\n"," float_data: 0.1438552737236023\n"," float_data: 0.019712625071406364\n"," float_data: -0.33717676997184753\n"," float_data: -0.22315596044063568\n"," float_data: -0.16202999651432037\n"," float_data: 0.16747891902923584\n"," float_data: 0.45203301310539246\n"," float_data: 0.2678220272064209\n"," float_data: -0.12484310567378998\n"," float_data: -0.2182544618844986\n"," float_data: -0.14916153252124786\n"," float_data: -0.07604195177555084\n"," float_data: 0.25750207901000977\n"," float_data: 0.1028762087225914\n"," float_data: 0.065093033015728\n"," float_data: -0.4209180474281311\n"," float_data: -0.3114350140094757\n"," float_data: -0.03601532801985741\n"," float_data: 0.04679396376013756\n"," float_data: 0.11451203376054764\n"," float_data: -0.053237173706293106\n"," float_data: -0.1361592710018158\n"," float_data: -0.26634207367897034\n"," float_data: -0.2130674421787262\n"," float_data: -0.030975310131907463\n"," float_data: 0.054346900433301926\n"," float_data: -0.17052768170833588\n"," float_data: -0.28975817561149597\n"," float_data: -0.0414196215569973\n"," float_data: -0.24664004147052765\n"," float_data: 0.09930238872766495\n"," float_data: 0.19524505734443665\n"," float_data: -0.09816950559616089\n"," float_data: -0.27048927545547485\n"," float_data: -0.14976917207241058\n"," float_data: -0.08557458221912384\n"," float_data: 0.001977275824174285\n"," float_data: 0.05408528447151184\n"," float_data: 0.046747662127017975\n"," float_data: -0.16107846796512604\n"," float_data: 0.023279596120119095\n"," float_data: 0.06521863490343094\n"," float_data: 0.24592797458171844\n"," float_data: 0.0606386698782444\n"," float_data: 0.012831315398216248\n"," float_data: -0.09471376985311508\n"," float_data: -0.10581237822771072\n"," float_data: 0.22934259474277496\n"," float_data: 0.20430348813533783\n"," float_data: -0.08989682048559189\n"," float_data: -0.24754013121128082\n"," float_data: 0.14427025616168976\n"," float_data: 0.05195837840437889\n"," float_data: -0.02395634539425373\n"," float_data: 0.10000108927488327\n"," float_data: -0.05712178349494934\n"," float_data: -0.07585285604000092\n"," float_data: -0.05744583159685135\n"," float_data: 0.05116294324398041\n"," float_data: 0.08658400177955627\n"," float_data: 0.062275782227516174\n"," float_data: -0.15449947118759155\n"," float_data: -0.14051668345928192\n"," float_data: 0.020217157900333405\n"," float_data: 0.027638006955385208\n"," float_data: -0.10162952542304993\n"," float_data: 0.028731584548950195\n"," float_data: -0.1280091404914856\n"," float_data: -0.22699958086013794\n"," float_data: -0.2687792479991913\n"," float_data: 0.13324090838432312\n"," float_data: 0.07806967943906784\n"," float_data: -0.12345310300588608\n"," float_data: -0.14539755880832672\n"," float_data: -0.17290523648262024\n"," float_data: 0.07490882277488708\n"," float_data: 0.2147226631641388\n"," float_data: -0.01865900307893753\n"," float_data: -0.011617684736847878\n"," float_data: -0.15776567161083221\n"," float_data: -0.039294078946113586\n"," float_data: -0.014340892434120178\n"," float_data: -0.03494420647621155\n"," float_data: 0.13751232624053955\n"," float_data: 0.251747190952301\n"," float_data: 0.04373861476778984\n"," float_data: -0.3926660418510437\n"," float_data: -0.07790732383728027\n"," float_data: 0.14997632801532745\n"," float_data: 0.2061816304922104\n"," float_data: -0.14093178510665894\n"," float_data: -0.1931440234184265\n"," float_data: -0.04336024448275566\n"," float_data: 0.09022607654333115\n"," float_data: 0.21707259118556976\n"," float_data: -0.08400165289640427\n"," float_data: -0.20222805440425873\n"," float_data: -0.13156744837760925\n"," float_data: -0.09987356513738632\n"," float_data: -0.0017187350895255804\n"," float_data: -0.3674922287464142\n"," float_data: -0.3101159930229187\n"," float_data: -0.41247090697288513\n"," float_data: -0.03239436820149422\n"," float_data: -0.14428606629371643\n"," float_data: -0.08322117477655411\n"," float_data: -0.06490825861692429\n"," float_data: -0.26588988304138184\n"," float_data: -0.059059496968984604\n"," float_data: -0.10231653600931168\n"," float_data: 0.036359041929244995\n"," float_data: 0.13712583482265472\n"," float_data: -0.037482984364032745\n"," float_data: -0.09332706034183502\n"," float_data: 0.006899564526975155\n"," float_data: 0.020245833322405815\n"," float_data: 0.2299138307571411\n"," float_data: -0.009017903357744217\n"," float_data: -0.1711762398481369\n"," float_data: -0.18040525913238525\n"," float_data: 0.023168597370386124\n"," float_data: -0.15403836965560913\n"," float_data: -0.013067308813333511\n"," float_data: -0.033201031386852264\n"," float_data: -0.08521424978971481\n"," float_data: -0.22192257642745972\n"," float_data: -0.2521321773529053\n"," float_data: -0.1847257763147354\n"," float_data: -0.05622471496462822\n"," float_data: 0.0955083891749382\n"," float_data: -0.10368500649929047\n"," float_data: -0.16978149116039276\n"," float_data: -0.15736238658428192\n"," float_data: 0.0018222701037302613\n"," float_data: 0.006111889611929655\n"," float_data: -0.005999081768095493\n"," float_data: 0.20904089510440826\n"," float_data: 0.06389889866113663\n"," float_data: 0.16539031267166138\n"," float_data: 0.2766287326812744\n"," float_data: -0.057492636144161224\n"," float_data: 0.08701781183481216\n"," float_data: 0.14773015677928925\n"," float_data: 0.13645263016223907\n"," float_data: -0.009538683108985424\n"," float_data: 0.1278182715177536\n"," float_data: -0.01767723448574543\n"," float_data: -0.07789589464664459\n"," float_data: -0.03270944580435753\n"," float_data: -0.15162914991378784\n"," float_data: 0.13641193509101868\n"," float_data: 0.03006272204220295\n"," float_data: -0.07147711515426636\n"," float_data: -0.15736185014247894\n"," float_data: -0.0798630565404892\n"," float_data: 0.02430896833539009\n"," float_data: 0.006579856388270855\n"," float_data: -0.138672336935997\n"," float_data: 0.11343424767255783\n"," float_data: 0.23744235932826996\n"," float_data: -0.0670645534992218\n"," float_data: -0.1272609829902649\n"," float_data: -0.024227652698755264\n"," float_data: 0.21766941249370575\n"," float_data: 0.24051932990550995\n"," float_data: -0.22820553183555603\n"," float_data: -0.008572586812078953\n"," float_data: -0.19617895781993866\n"," float_data: -0.08930354565382004\n"," float_data: -0.17843331396579742\n"," float_data: -0.19912947714328766\n"," float_data: -0.30946698784828186\n"," float_data: -0.11069397628307343\n"," float_data: -0.11934427917003632\n"," float_data: 0.04169084504246712\n"," float_data: 0.011480848304927349\n"," float_data: -0.09059122949838638\n"," float_data: -0.16148574650287628\n"," float_data: -0.16161546111106873\n"," float_data: -0.09363073855638504\n"," float_data: 0.1012055054306984\n"," float_data: 0.23056375980377197\n"," float_data: 0.33410748839378357\n"," float_data: -0.15872830152511597\n"," float_data: -0.027987675741314888\n"," float_data: 0.15227825939655304\n"," float_data: 0.03316185995936394\n"," float_data: 0.2040674388408661\n"," float_data: 0.10759252309799194\n"," float_data: 0.12716907262802124\n"," float_data: 0.02643323689699173\n"," float_data: -0.18552133440971375\n"," float_data: -0.21519555151462555\n"," float_data: -0.15143786370754242\n"," float_data: -0.19436706602573395\n"," float_data: -0.10167742520570755\n"," float_data: -0.0668223649263382\n"," float_data: -0.18159429728984833\n"," float_data: -0.22546334564685822\n"," float_data: -0.062224071472883224\n"," float_data: -0.21034789085388184\n"," float_data: -0.08713001757860184\n"," float_data: -0.13168516755104065\n"," float_data: -0.11911161243915558\n"," float_data: -0.1495795100927353\n"," float_data: 0.09994123876094818\n"," float_data: 0.11954653263092041\n"," float_data: 0.22844070196151733\n"," float_data: -0.02858673594892025\n"," float_data: 0.04422473534941673\n"," float_data: 0.1575174331665039\n"," float_data: 0.09188351035118103\n"," float_data: 0.22744369506835938\n"," float_data: -0.021807512268424034\n"," float_data: 0.1916884034872055\n"," float_data: 0.07369084656238556\n"," float_data: 0.04892595484852791\n"," float_data: -0.03920923173427582\n"," float_data: -0.04705292358994484\n"," float_data: -0.22891616821289062\n"," float_data: -0.03614075854420662\n"," float_data: 0.041426341980695724\n"," float_data: -0.07762393355369568\n"," float_data: -0.2611229121685028\n"," float_data: -0.0912007987499237\n"," float_data: -0.17292679846286774\n"," float_data: -0.23834316432476044\n"," float_data: 0.10433737188577652\n"," float_data: -0.031183898448944092\n"," float_data: -0.003995437640696764\n"," float_data: -0.049886249005794525\n"," float_data: 0.13645552098751068\n"," float_data: 0.2172389030456543\n"," float_data: -0.05016835778951645\n"," float_data: -0.04197770729660988\n"," float_data: -0.0634370818734169\n"," float_data: -0.06891166418790817\n"," float_data: 0.008541063405573368\n"," float_data: 0.24360664188861847\n"," float_data: 0.13791726529598236\n"," float_data: -0.01115367840975523\n"," float_data: -0.14292924106121063\n"," float_data: 0.11151274293661118\n"," float_data: 0.07313501089811325\n"," float_data: -0.08778789639472961\n"," float_data: 0.04911564663052559\n"," float_data: -0.04676542803645134\n"," float_data: -0.18753792345523834\n"," float_data: -0.16639703512191772\n"," float_data: -0.05079735442996025\n"," float_data: -0.08475662767887115\n"," float_data: 0.026826167479157448\n"," float_data: -0.08649285137653351\n"," float_data: -0.18647974729537964\n"," float_data: 0.007361341267824173\n"," float_data: -0.1363808959722519\n"," float_data: -0.24112747609615326\n"," float_data: -0.275541216135025\n"," float_data: -0.10601148009300232\n"," float_data: -0.0008207806968130171\n"," float_data: -0.07741782814264297\n"," float_data: 0.11260538548231125\n"," float_data: 0.09809847176074982\n"," float_data: -0.03961804136633873\n"," float_data: 0.12805607914924622\n"," float_data: 0.08752225339412689\n"," float_data: 0.27042075991630554\n"," float_data: 0.20268431305885315\n"," float_data: 0.20752102136611938\n"," float_data: 0.03979964554309845\n"," float_data: -0.14928001165390015\n"," float_data: -0.09358218312263489\n"," float_data: -0.10785188525915146\n"," float_data: -0.1947113275527954\n"," float_data: -0.27080097794532776\n"," float_data: -0.1566784381866455\n"," float_data: -0.026621732860803604\n"," float_data: 0.09703120589256287\n"," float_data: -0.008688589558005333\n"," float_data: -0.015095324255526066\n"," float_data: -0.17963722348213196\n"," float_data: -0.05860815942287445\n"," float_data: -0.0791080892086029\n"," float_data: -0.220678448677063\n"," float_data: 0.1075926199555397\n"," float_data: -0.5088579058647156\n"," float_data: -0.309909462928772\n"," float_data: -0.14241962134838104\n"," float_data: 0.013917885720729828\n"," float_data: -0.0332721546292305\n"," float_data: -0.0611729770898819\n"," float_data: -0.2279776781797409\n"," float_data: -0.168904110789299\n"," float_data: -0.11738067120313644\n"," float_data: -0.09099238365888596\n"," float_data: 0.06495463848114014\n"," float_data: -0.2356211543083191\n"," float_data: -0.016749761998653412\n"," float_data: 0.029220901429653168\n"," float_data: 0.2096763700246811\n"," float_data: -0.1713377833366394\n"," float_data: 0.3138743042945862\n"," float_data: 0.22207890450954437\n"," float_data: -0.23740322887897491\n"," float_data: -0.1707688570022583\n"," float_data: -0.2179967761039734\n"," float_data: 0.19849348068237305\n"," float_data: 0.168926402926445\n"," float_data: 0.06156664341688156\n"," float_data: -0.042811471968889236\n"," float_data: -0.2683849334716797\n"," float_data: 0.0663081556558609\n"," float_data: 0.29191306233406067\n"," float_data: 0.03754884749650955\n"," float_data: 0.16733400523662567\n"," float_data: -0.32384786009788513\n"," float_data: -0.25886794924736023\n"," float_data: -0.07261534035205841\n"," float_data: -0.1953873336315155\n"," float_data: 0.07085315883159637\n"," float_data: 0.01921442337334156\n"," float_data: -0.07297760248184204\n"," float_data: -0.05503610521554947\n"," float_data: -0.026403218507766724\n"," float_data: -0.18798932433128357\n"," float_data: 0.09289582073688507\n"," float_data: -0.011830953881144524\n"," float_data: -0.18425334990024567\n"," float_data: -0.030384177342057228\n"," float_data: -0.08106335997581482\n"," float_data: 0.11830869317054749\n"," float_data: 0.033954355865716934\n"," float_data: -0.15159590542316437\n"," float_data: -0.1246211901307106\n"," float_data: 0.35987138748168945\n"," float_data: 0.30385270714759827\n"," float_data: 0.15977822244167328\n"," float_data: 0.11741940677165985\n"," float_data: 0.17384164035320282\n"," float_data: 0.21723999083042145\n"," float_data: -0.024622570723295212\n"," float_data: -0.05187755823135376\n"," float_data: -0.020101457834243774\n"," float_data: 0.10644400119781494\n"," float_data: -0.1154613047838211\n"," float_data: 0.10250864923000336\n"," float_data: -0.06351886689662933\n"," float_data: -0.11650703102350235\n"," float_data: -0.13352985680103302\n"," float_data: -0.07271390408277512\n"," float_data: 0.07817906141281128\n"," float_data: 0.019656023010611534\n"," float_data: 0.10619388520717621\n"," float_data: 0.08268117904663086\n"," float_data: 0.15436951816082\n"," float_data: -0.29505619406700134\n"," float_data: -0.19211812317371368\n"," float_data: -0.07308638095855713\n"," float_data: 0.047795411199331284\n"," float_data: 0.20183216035366058\n"," float_data: -0.221505269408226\n"," float_data: -0.2858070731163025\n"," float_data: -0.39411407709121704\n"," float_data: -0.12909503281116486\n"," float_data: -0.06852944940328598\n"," float_data: 0.25425848364830017\n"," float_data: 0.09744229167699814\n"," float_data: -0.05849297717213631\n"," float_data: -0.13732853531837463\n"," float_data: -0.2529595196247101\n"," float_data: 0.2653420567512512\n"," float_data: 0.045385222882032394\n"," float_data: 0.06224910169839859\n"," float_data: 0.1795545071363449\n"," float_data: 0.17525887489318848\n"," float_data: 0.08852808177471161\n"," float_data: 0.023113608360290527\n"," float_data: -0.07702213525772095\n"," float_data: 0.07809252291917801\n"," float_data: -0.04656391963362694\n"," float_data: -0.08425140380859375\n"," float_data: -0.06461973488330841\n"," float_data: -0.12551997601985931\n"," float_data: -0.08405105769634247\n"," float_data: 0.014204084873199463\n"," float_data: 0.0354142040014267\n"," float_data: -0.16464191675186157\n"," float_data: -0.24463215470314026\n"," float_data: -0.3694094121456146\n"," float_data: -0.1805029958486557\n"," float_data: 0.13938884437084198\n"," float_data: 0.1029081717133522\n"," float_data: -0.0999741330742836\n"," float_data: -0.1553630232810974\n"," float_data: -0.40147969126701355\n"," float_data: 0.0801175907254219\n"," float_data: 0.11636429280042648\n"," float_data: 0.048825137317180634\n"," float_data: 0.20691698789596558\n"," float_data: 0.10473358631134033\n"," float_data: -0.004640513565391302\n"," float_data: 0.0037714543286710978\n"," float_data: -0.188820481300354\n"," float_data: 0.09153605997562408\n"," float_data: -0.08869077265262604\n"," float_data: -0.046445880085229874\n"," float_data: -0.16173416376113892\n"," float_data: -0.038405247032642365\n"," float_data: -0.04863325506448746\n"," float_data: -0.05188758298754692\n"," float_data: 0.065911203622818\n"," float_data: 0.021947888657450676\n"," float_data: -0.1275767683982849\n"," float_data: -0.1936386227607727\n"," float_data: -0.27008572220802307\n"," float_data: 0.09438394010066986\n"," float_data: 0.22730889916419983\n"," float_data: 0.09536141157150269\n"," float_data: -0.040722887963056564\n"," float_data: -0.23792697489261627\n"," float_data: -0.1400575488805771\n"," float_data: 0.0400947667658329\n"," float_data: 0.2147902250289917\n"," float_data: 0.06942731142044067\n"," float_data: 0.30465835332870483\n"," float_data: -0.06758856028318405\n"," float_data: -0.06033667176961899\n"," float_data: -0.01388031616806984\n"," float_data: 0.22329550981521606\n"," float_data: 0.12044026702642441\n"," float_data: -0.0625072494149208\n"," float_data: -0.07773168385028839\n"," float_data: 0.004388993140310049\n"," float_data: -0.06604526191949844\n"," float_data: -0.3008423447608948\n"," float_data: -0.13873329758644104\n"," float_data: -0.22090953588485718\n"," float_data: -0.16132496297359467\n"," float_data: -0.27216678857803345\n"," float_data: -0.28397229313850403\n"," float_data: -0.2156323343515396\n"," float_data: -0.07374999672174454\n"," float_data: -0.19594880938529968\n"," float_data: -0.27323150634765625\n"," float_data: -0.262513667345047\n"," float_data: -0.18629583716392517\n"," float_data: 0.2254476249217987\n"," float_data: 0.021181173622608185\n"," float_data: 0.0008122368017211556\n"," float_data: 0.011185912415385246\n"," float_data: 0.06582364439964294\n"," float_data: -0.03368503972887993\n"," float_data: -0.20650511980056763\n"," float_data: -0.20560866594314575\n"," float_data: -0.2074623703956604\n"," float_data: -0.019831780344247818\n"," float_data: 0.05050733685493469\n"," float_data: 0.00471616443246603\n"," float_data: -0.050312675535678864\n"," float_data: 0.23621651530265808\n"," float_data: -0.06442952156066895\n"," float_data: 0.053469669073820114\n"," float_data: 0.2690306305885315\n"," float_data: 0.3456336557865143\n"," float_data: 0.20448674261569977\n"," float_data: -0.4155077040195465\n"," float_data: -0.24614383280277252\n"," float_data: -0.10449036210775375\n"," float_data: -0.04480655491352081\n"," float_data: 0.02693212404847145\n"," float_data: 0.08706800639629364\n"," float_data: -0.22441278398036957\n"," float_data: -0.2289963662624359\n"," float_data: 0.00650830427184701\n"," float_data: -0.018077388405799866\n"," float_data: 0.336372047662735\n"," float_data: 0.05157006159424782\n"," float_data: -0.10236301273107529\n"," float_data: -0.05782179534435272\n"," float_data: -0.16025540232658386\n"," float_data: -0.009699004702270031\n"," float_data: -0.2092268466949463\n"," float_data: 0.08736559748649597\n"," float_data: -0.09876188635826111\n"," float_data: -0.13653306663036346\n"," float_data: -0.050851721316576004\n"," float_data: -0.15948143601417542\n"," float_data: 0.08124995976686478\n"," float_data: 0.05858054757118225\n"," float_data: -0.056563474237918854\n"," float_data: -0.011578116565942764\n"," float_data: -0.1257173717021942\n"," float_data: 0.15367542207241058\n"," float_data: -0.03538193926215172\n"," float_data: -0.02044721692800522\n"," float_data: -0.16568569839000702\n"," float_data: -0.3309613764286041\n"," float_data: -0.22421495616436005\n"," float_data: 0.018195228651165962\n"," float_data: -0.2279190868139267\n"," float_data: 0.06933924555778503\n"," float_data: 0.12477988004684448\n"," float_data: 0.1241966113448143\n"," float_data: -0.05020014941692352\n"," float_data: 0.0014504591235890985\n"," float_data: 0.09753495454788208\n"," float_data: 0.26148828864097595\n"," float_data: 0.04247131571173668\n"," float_data: -0.09176084399223328\n"," float_data: 0.26603856682777405\n"," float_data: 0.012044012546539307\n"," float_data: 0.06349027901887894\n"," float_data: 0.2917325794696808\n"," float_data: -0.20980994403362274\n"," float_data: -0.08098441362380981\n"," float_data: -0.1514623612165451\n"," float_data: 0.01693526655435562\n"," float_data: 0.026248710229992867\n"," float_data: -0.28772059082984924\n"," float_data: -0.15563209354877472\n"," float_data: -0.11588084697723389\n"," float_data: -0.16594025492668152\n"," float_data: -0.04860479012131691\n"," float_data: -0.09146153181791306\n"," float_data: -0.3424217998981476\n"," float_data: -0.08248615264892578\n"," float_data: -0.14639954268932343\n"," float_data: 0.06170615926384926\n"," float_data: -0.06424456834793091\n"," float_data: 0.10531934350728989\n"," float_data: 0.03259674087166786\n"," float_data: -0.04015224426984787\n"," float_data: -0.04184994846582413\n"," float_data: -0.14641475677490234\n"," float_data: 0.04650091007351875\n"," float_data: -0.19159215688705444\n"," float_data: -0.09720258414745331\n"," float_data: -0.026763247326016426\n"," float_data: -0.008710562251508236\n"," float_data: -0.1834431290626526\n"," float_data: 0.032486774027347565\n"," float_data: 0.054895903915166855\n"," float_data: 0.05650826171040535\n"," float_data: 0.09049119055271149\n"," float_data: -0.07283502072095871\n"," float_data: 0.040771208703517914\n"," float_data: 0.01770399510860443\n"," float_data: 0.023165585473179817\n"," float_data: 0.08541125059127808\n"," float_data: 0.07327347993850708\n"," float_data: 0.07388172298669815\n"," float_data: 0.19680674374103546\n"," float_data: 0.13288091123104095\n"," float_data: -0.08110922574996948\n"," float_data: -0.09204757958650589\n"," float_data: -0.02118545025587082\n"," float_data: 0.0649576336145401\n"," float_data: 0.01664741523563862\n"," float_data: -0.19992229342460632\n"," float_data: -0.39201831817626953\n"," float_data: 0.05337882414460182\n"," float_data: 0.14832061529159546\n"," float_data: -0.015930501744151115\n"," float_data: -0.04682142287492752\n"," float_data: -0.1876724660396576\n"," float_data: -0.03878039866685867\n"," float_data: -0.09607725590467453\n"," float_data: -0.24141086637973785\n"," float_data: -0.11034749448299408\n"," float_data: -0.1248227208852768\n"," float_data: -0.1941799372434616\n"," float_data: -0.21113526821136475\n"," float_data: -0.08935874700546265\n"," float_data: -0.11216948181390762\n"," float_data: -0.1977689117193222\n"," float_data: -0.11411645263433456\n"," float_data: -0.05959547683596611\n"," float_data: 0.09871963411569595\n"," float_data: -0.0030470085330307484\n"," float_data: 0.09484831988811493\n"," float_data: -0.27617356181144714\n"," float_data: -0.2762490510940552\n"," float_data: 0.10739443451166153\n"," float_data: 0.16690699756145477\n"," float_data: -0.15530411899089813\n"," float_data: -0.10048027336597443\n"," float_data: -0.05641690269112587\n"," float_data: -0.16939426958560944\n"," float_data: 0.11060523986816406\n"," float_data: -0.1286766529083252\n"," float_data: -0.22765392065048218\n"," float_data: -0.09630677103996277\n"," float_data: -0.1019238829612732\n"," float_data: -0.10251773148775101\n"," float_data: -0.09103234857320786\n"," float_data: -0.09878663718700409\n"," float_data: -0.1266203671693802\n"," float_data: -0.07014458626508713\n"," float_data: -0.033576782792806625\n"," float_data: -0.20395876467227936\n"," float_data: -0.13930387794971466\n"," float_data: -0.22477124631404877\n"," float_data: -0.083558589220047\n"," float_data: 0.023859236389398575\n"," float_data: 0.1608676165342331\n"," float_data: -0.15787112712860107\n"," float_data: -0.23640334606170654\n"," float_data: -0.18659746646881104\n"," float_data: 0.08294444531202316\n"," float_data: 0.007717343047261238\n"," float_data: -0.18990717828273773\n"," float_data: -0.0368315652012825\n"," float_data: -0.1421593427658081\n"," float_data: -0.04587904363870621\n"," float_data: 0.03692972660064697\n"," float_data: -0.2829573452472687\n"," float_data: -0.16551727056503296\n"," float_data: -0.18551060557365417\n"," float_data: -0.2300465703010559\n"," float_data: -0.044569652527570724\n"," float_data: -0.2071906179189682\n"," float_data: -0.06228456273674965\n"," float_data: -0.026583096012473106\n"," float_data: -0.09080245345830917\n"," float_data: -0.01769099198281765\n"," float_data: -0.2137795090675354\n"," float_data: -0.16995050013065338\n"," float_data: -0.05051632970571518\n"," float_data: 0.16060075163841248\n"," float_data: -0.10472562164068222\n"," float_data: -0.18431325256824493\n"," float_data: -0.0817534402012825\n"," float_data: 0.02412394806742668\n"," float_data: 0.3162372410297394\n"," float_data: -0.020620400086045265\n"," float_data: -0.037059236317873\n"," float_data: -0.01589791290462017\n"," float_data: 0.06975679844617844\n"," float_data: 0.40803149342536926\n"," float_data: 0.1922045648097992\n"," float_data: -0.15207965672016144\n"," float_data: -0.08055247366428375\n"," float_data: 0.18993385136127472\n"," float_data: 0.25558218359947205\n"," float_data: 0.005665880162268877\n"," float_data: -0.0635862797498703\n"," float_data: -0.023513853549957275\n"," float_data: 0.028532806783914566\n"," float_data: -0.10798429697751999\n"," float_data: -0.07838823646306992\n"," float_data: 0.006924596149474382\n"," float_data: -0.029963649809360504\n"," float_data: 0.20361441373825073\n"," float_data: 0.10302932560443878\n"," float_data: 0.06137075647711754\n"," float_data: -0.10591742396354675\n"," float_data: 0.07669983804225922\n"," float_data: 0.0010445468360558152\n"," float_data: 0.1922081559896469\n"," float_data: 0.058428023010492325\n"," float_data: -0.20915839076042175\n"," float_data: -0.11073622107505798\n"," float_data: 0.1516658067703247\n"," float_data: -0.03713640570640564\n"," float_data: -0.054176099598407745\n"," float_data: -0.0562775544822216\n"," float_data: 0.16917124390602112\n"," float_data: 0.17288422584533691\n"," float_data: -0.07186485081911087\n"," float_data: -0.15483108162879944\n"," float_data: 0.09730042517185211\n"," float_data: -0.08626920729875565\n"," float_data: 0.037754155695438385\n"," float_data: -0.12144140154123306\n"," float_data: -0.17640529572963715\n"," float_data: -0.03744393214583397\n"," float_data: -0.1211773231625557\n"," float_data: -0.06508835405111313\n"," float_data: -0.011592800728976727\n"," float_data: -0.1859850287437439\n"," float_data: 0.17555756866931915\n"," float_data: 0.22805985808372498\n"," float_data: 0.11251313239336014\n"," float_data: 0.08350186049938202\n"," float_data: -0.12051472067832947\n"," float_data: 0.17182858288288116\n"," float_data: 0.2135157287120819\n"," float_data: 0.05474758893251419\n"," float_data: 0.2565140426158905\n"," float_data: -0.04514119401574135\n"," float_data: -0.0767223984003067\n"," float_data: -0.029420606791973114\n"," float_data: 0.38092151284217834\n"," float_data: 0.11730678379535675\n"," float_data: 0.015836525708436966\n"," float_data: -0.17927579581737518\n"," float_data: -0.0175944771617651\n"," float_data: 0.1050080731511116\n"," float_data: 0.007059205789119005\n"," float_data: -0.05988568067550659\n"," float_data: -0.004474120680242777\n"," float_data: -0.14042404294013977\n"," float_data: -0.06679479032754898\n"," float_data: -0.19451801478862762\n"," float_data: -0.04792727530002594\n"," float_data: 0.014082209207117558\n"," float_data: -0.05311235040426254\n"," float_data: 0.09745048731565475\n"," float_data: 0.18235157430171967\n"," float_data: 0.27238303422927856\n"," float_data: 0.1482742726802826\n"," float_data: -0.10897787660360336\n"," float_data: -0.006137829273939133\n"," float_data: 0.014541476964950562\n"," float_data: 0.02918483130633831\n"," float_data: -0.042400360107421875\n"," float_data: -0.1457047164440155\n"," float_data: -0.2651108205318451\n"," float_data: -0.20258715748786926\n"," float_data: -0.23183348774909973\n"," float_data: 0.19146016240119934\n"," float_data: 0.1335183084011078\n"," float_data: -0.15205053985118866\n"," float_data: -0.22032365202903748\n"," float_data: -0.2936010956764221\n"," float_data: -0.0721922218799591\n"," float_data: -0.05235185846686363\n"," float_data: 0.070465587079525\n"," float_data: 0.16709300875663757\n"," float_data: 0.16302193701267242\n"," float_data: -0.045340023934841156\n"," float_data: -0.16536973416805267\n"," float_data: -0.15742963552474976\n"," float_data: -0.08623357862234116\n"," float_data: -0.008763990364968777\n"," float_data: -0.06531042605638504\n"," float_data: -0.11710987240076065\n"," float_data: -0.2890889048576355\n"," float_data: -0.1423463076353073\n"," float_data: -0.06993799656629562\n"," float_data: -0.07339230179786682\n"," float_data: 0.04702167958021164\n"," float_data: 0.07068709284067154\n"," float_data: 0.01164259109646082\n"," float_data: 0.001530040637589991\n"," float_data: 0.2679424285888672\n"," float_data: 0.41476115584373474\n"," float_data: 0.3318842351436615\n"," float_data: 0.05309115722775459\n"," float_data: -0.09126650542020798\n"," float_data: -0.09105974435806274\n"," float_data: -0.08052719384431839\n"," float_data: -0.07754771411418915\n"," float_data: -0.15218207240104675\n"," float_data: -0.06944306194782257\n"," float_data: -0.1597212851047516\n"," float_data: 0.017591042444109917\n"," float_data: 0.016774829477071762\n"," float_data: -0.10425513982772827\n"," float_data: -0.1507980078458786\n"," float_data: -0.13542556762695312\n"," float_data: -0.013737879693508148\n"," float_data: -0.027242209762334824\n"," float_data: 0.12156648933887482\n"," float_data: -0.19823753833770752\n"," float_data: -0.0260448157787323\n"," float_data: 0.025637399405241013\n"," float_data: -0.05903433635830879\n"," float_data: 0.0035247579216957092\n"," float_data: -0.09438861906528473\n"," float_data: -0.13069668412208557\n"," float_data: -0.2359791398048401\n"," float_data: -0.10785036534070969\n"," float_data: -0.26768311858177185\n"," float_data: -0.06995970755815506\n"," float_data: 0.027143465355038643\n"," float_data: 0.2931978106498718\n"," float_data: 0.24231164157390594\n"," float_data: 0.11347775161266327\n"," float_data: 0.09510540217161179\n"," float_data: -0.004526076838374138\n"," float_data: 0.06909330934286118\n"," float_data: 0.0295697208493948\n"," float_data: -0.032948583364486694\n"," float_data: -0.08366659283638\n"," float_data: -0.03908427804708481\n"," float_data: 0.036163609474897385\n"," float_data: -0.06011905521154404\n"," float_data: 0.08593237400054932\n"," float_data: -0.06908846646547318\n"," float_data: 0.03778141364455223\n"," float_data: 0.11311928927898407\n"," float_data: -0.004552461672574282\n"," float_data: -0.05190753936767578\n"," float_data: -0.06595040112733841\n"," float_data: -0.038535766303539276\n"," float_data: -0.017827220261096954\n"," float_data: -0.21660463511943817\n"," float_data: -0.2647268772125244\n"," float_data: -0.23418982326984406\n"," float_data: -0.03451717272400856\n"," float_data: 0.09788685292005539\n"," float_data: 0.18291251361370087\n"," float_data: 0.16025127470493317\n"," float_data: 0.24531272053718567\n"," float_data: 0.043764591217041016\n"," float_data: 0.19735702872276306\n"," float_data: 0.07365645468235016\n"," float_data: 0.2242022603750229\n"," float_data: -0.06002480909228325\n"," float_data: -0.017072319984436035\n"," float_data: -0.0968012884259224\n"," float_data: -0.09551245719194412\n"," float_data: 0.006014008074998856\n"," float_data: -0.1255997121334076\n"," float_data: 0.09679015725851059\n"," float_data: 0.16055598855018616\n"," float_data: -0.09497489780187607\n"," float_data: -0.2649535536766052\n"," float_data: -0.20399163663387299\n"," float_data: 0.013760979287326336\n"," float_data: 0.03815280646085739\n"," float_data: -0.09369457513093948\n"," float_data: -0.15725389122962952\n"," float_data: -0.07138212025165558\n"," float_data: -0.10705529153347015\n"," float_data: -0.033424243330955505\n"," float_data: 0.03713896498084068\n"," float_data: -0.0902671217918396\n"," float_data: -0.08425956964492798\n"," float_data: -0.12584854662418365\n"," float_data: -0.1511489450931549\n"," float_data: 0.006971132941544056\n"," float_data: 0.05209892615675926\n"," float_data: 0.020854402333498\n"," float_data: 0.11242306232452393\n"," float_data: -0.10367371886968613\n"," float_data: 0.03739583492279053\n"," float_data: 0.06606831401586533\n"," float_data: 0.027191419154405594\n"," float_data: 0.013805653899908066\n"," float_data: -0.11092380434274673\n"," float_data: -0.23143675923347473\n"," float_data: 0.04583947733044624\n"," float_data: 0.082292340695858\n"," float_data: -0.2254447191953659\n"," float_data: -0.10254069417715073\n"," float_data: -0.10895461589097977\n"," float_data: -0.09785081446170807\n"," float_data: -0.030701953917741776\n"," float_data: 0.1891084462404251\n"," float_data: 0.044401295483112335\n"," float_data: -0.018865467980504036\n"," float_data: -0.13528560101985931\n"," float_data: -0.1711433380842209\n"," float_data: 0.18068116903305054\n"," float_data: 0.10807482153177261\n"," float_data: -0.015967441722750664\n"," float_data: -0.1361083984375\n"," float_data: -0.21788561344146729\n"," float_data: -0.11858073621988297\n"," float_data: -0.08990351110696793\n"," float_data: -0.12800705432891846\n"," float_data: -0.06001388654112816\n"," float_data: -0.0930866226553917\n"," float_data: -0.16487400233745575\n"," float_data: -0.06909117102622986\n"," float_data: 0.05639393627643585\n"," float_data: 0.08227597922086716\n"," float_data: -0.12686052918434143\n"," float_data: 0.07714255154132843\n"," float_data: 0.32661935687065125\n"," float_data: 0.15921442210674286\n"," float_data: -0.04044591262936592\n"," float_data: -0.12586498260498047\n"," float_data: 0.2621592581272125\n"," float_data: 0.32022663950920105\n"," float_data: 0.11691885441541672\n"," float_data: 0.29637154936790466\n"," float_data: 0.4117778539657593\n"," float_data: -0.06387952715158463\n"," float_data: 0.09631044417619705\n"," float_data: -0.10193310678005219\n"," float_data: -0.07229720801115036\n"," float_data: 0.017783701419830322\n"," float_data: -0.1220608800649643\n"," float_data: 0.06882794201374054\n"," float_data: -0.3222334086894989\n"," float_data: -0.44739943742752075\n"," float_data: -0.2121708244085312\n"," float_data: -0.04382479190826416\n"," float_data: -0.2055710405111313\n"," float_data: -0.201360285282135\n"," float_data: -0.2263404130935669\n"," float_data: -0.3250301480293274\n"," float_data: -0.04634815454483032\n"," float_data: -0.1532975137233734\n"," float_data: -0.1776132583618164\n"," float_data: -0.0890120267868042\n"," float_data: -0.3261643350124359\n"," float_data: 0.10592429339885712\n"," float_data: 0.2931738495826721\n"," float_data: 0.09220080822706223\n"," float_data: -0.10742619633674622\n"," float_data: -0.11680089682340622\n"," float_data: 0.1118706464767456\n"," float_data: 0.1606343388557434\n"," float_data: 0.19108274579048157\n"," float_data: -0.016946321353316307\n"," float_data: -0.09085573256015778\n"," float_data: 0.00866859219968319\n"," float_data: -0.08802513033151627\n"," float_data: 0.22110812366008759\n"," float_data: 0.31805288791656494\n"," float_data: -0.1386258602142334\n"," float_data: 0.060469940304756165\n"," float_data: 0.01004709955304861\n"," float_data: 0.05625397711992264\n"," float_data: 0.22364796698093414\n"," float_data: 0.04092376306653023\n"," float_data: -0.004037109203636646\n"," float_data: 0.0007701382855884731\n"," float_data: 0.2802278399467468\n"," float_data: 0.029840026050806046\n"," float_data: -0.03400858864188194\n"," float_data: -0.20550419390201569\n"," float_data: -0.21601001918315887\n"," float_data: -0.4117316007614136\n"," float_data: -0.19750390946865082\n"," float_data: -0.21639364957809448\n"," float_data: -0.13090138137340546\n"," float_data: -0.22261102497577667\n"," float_data: -0.25279468297958374\n"," float_data: -0.06705359369516373\n"," float_data: -0.1288449466228485\n"," float_data: 0.02804957702755928\n"," float_data: 0.06692557036876678\n"," float_data: -0.02071668952703476\n"," float_data: -0.0856904536485672\n"," float_data: 0.16614267230033875\n"," float_data: 0.13574251532554626\n"," float_data: 0.05203128606081009\n"," float_data: -0.1511194258928299\n"," float_data: -0.17559345066547394\n"," float_data: 0.20422761142253876\n"," float_data: -0.05560991168022156\n"," float_data: -0.1551693081855774\n"," float_data: -0.2525765001773834\n"," float_data: 0.044607698917388916\n"," float_data: 0.16534742712974548\n"," float_data: 0.3116951882839203\n"," float_data: 0.011384028010070324\n"," float_data: 0.06012119725346565\n"," float_data: -0.1518121361732483\n"," float_data: 0.027344848960638046\n"," float_data: -0.0461873859167099\n"," float_data: -0.09934677928686142\n"," float_data: 0.09042976051568985\n"," float_data: -0.1224156990647316\n"," float_data: -0.0563633032143116\n"," float_data: -0.09876688569784164\n"," float_data: -0.02813403122127056\n"," float_data: -0.09706991165876389\n"," float_data: -0.00718895485624671\n"," float_data: -0.1798936128616333\n"," float_data: -0.06401971727609634\n"," float_data: -0.027164127677679062\n"," float_data: -0.2709146738052368\n"," float_data: -0.18015383183956146\n"," float_data: -0.37127357721328735\n"," float_data: 0.015378309413790703\n"," float_data: -0.2197401374578476\n"," float_data: -0.018035758286714554\n"," float_data: -0.1537073850631714\n"," float_data: -0.16650912165641785\n"," float_data: -0.12865965068340302\n"," float_data: -0.2706142067909241\n"," float_data: -0.04102994501590729\n"," float_data: 0.15858601033687592\n"," float_data: 0.1120070368051529\n"," float_data: 0.08054431527853012\n"," float_data: -0.19678574800491333\n"," float_data: -0.355466365814209\n"," float_data: 0.13648101687431335\n"," float_data: 0.21813322603702545\n"," float_data: 0.03019222617149353\n"," float_data: -0.011387751437723637\n"," float_data: -0.2274830937385559\n"," float_data: -0.015775423496961594\n"," float_data: 0.1691981554031372\n"," float_data: 0.1536937803030014\n"," float_data: 0.06293783336877823\n"," float_data: -0.15644875168800354\n"," float_data: 0.01270093210041523\n"," float_data: 0.035062212496995926\n"," float_data: -0.025814874097704887\n"," float_data: -0.02413666807115078\n"," float_data: -0.01132863387465477\n"," float_data: 0.04051654040813446\n"," float_data: 0.0078024109825491905\n"," float_data: 0.10636173188686371\n"," float_data: -0.16688115894794464\n"," float_data: -0.3434835374355316\n"," float_data: -0.07947812229394913\n"," float_data: -0.06647878885269165\n"," float_data: -0.005902669858187437\n"," float_data: -0.16614937782287598\n"," float_data: -0.37280553579330444\n"," float_data: -0.21827982366085052\n"," float_data: 0.12208424508571625\n"," float_data: 0.07161525636911392\n"," float_data: -0.1166985034942627\n"," float_data: -0.26056259870529175\n"," float_data: -0.11146153509616852\n"," float_data: 0.335713267326355\n"," float_data: 0.09522479772567749\n"," float_data: 0.09288190305233002\n"," float_data: -0.0013613420305773616\n"," float_data: 0.04609062895178795\n"," float_data: 0.10861741006374359\n"," float_data: -0.06875447928905487\n"," float_data: 0.07132304459810257\n"," float_data: 0.03900471329689026\n"," float_data: -0.016049660742282867\n"," float_data: -0.03923631086945534\n"," float_data: -0.1548767238855362\n"," float_data: 0.12482482939958572\n"," float_data: 0.20957456529140472\n"," float_data: -0.008377982303500175\n"," float_data: 0.01626286283135414\n"," float_data: 0.1327681988477707\n"," float_data: 0.06695391237735748\n"," float_data: -0.1426796168088913\n"," float_data: 0.04811171442270279\n"," float_data: 0.1590464860200882\n"," float_data: 0.1673273891210556\n"," float_data: -0.11773747950792313\n"," float_data: -0.14107142388820648\n"," float_data: -0.06906991451978683\n"," float_data: 0.1232963502407074\n"," float_data: -0.10033141821622849\n"," float_data: -0.03303530812263489\n"," float_data: -0.07134335488080978\n"," float_data: -0.051095329225063324\n"," float_data: -0.2152068167924881\n"," float_data: -0.15770451724529266\n"," float_data: 0.1170814260840416\n"," float_data: 0.00016185354616027325\n"," float_data: 0.14732231199741364\n"," float_data: -0.01444218773394823\n"," float_data: 0.0770399197936058\n"," float_data: -0.00817920919507742\n"," float_data: -0.09513308852910995\n"," float_data: -0.020986804738640785\n"," float_data: 0.12352730333805084\n"," float_data: 0.13023440539836884\n"," float_data: 0.07731342315673828\n"," float_data: 0.08898136019706726\n"," float_data: 0.05387340858578682\n"," float_data: 0.04946614056825638\n"," float_data: -0.051570042967796326\n"," float_data: 0.04020273685455322\n"," float_data: 0.06020360440015793\n"," float_data: 0.08013579249382019\n"," float_data: 0.19994878768920898\n"," float_data: 0.1845567375421524\n"," float_data: -0.0632992684841156\n"," float_data: -0.01516373734921217\n"," float_data: 0.0989835262298584\n"," float_data: 0.20225705206394196\n"," float_data: -0.09517420828342438\n"," float_data: -0.16016104817390442\n"," float_data: -0.2306392341852188\n"," float_data: -0.068105049431324\n"," float_data: -0.07609310001134872\n"," float_data: 0.07609765231609344\n"," float_data: 0.04369436949491501\n"," float_data: -0.06016815826296806\n"," float_data: -0.215978741645813\n"," float_data: -0.1534215211868286\n"," float_data: 0.04961172863841057\n"," float_data: 0.013782075606286526\n"," float_data: -0.13848954439163208\n"," float_data: 0.12541504204273224\n"," float_data: 0.09149223566055298\n"," float_data: -0.08470294624567032\n"," float_data: -0.07492679357528687\n"," float_data: 0.023261770606040955\n"," float_data: 0.28689634799957275\n"," float_data: 0.290023535490036\n"," float_data: -0.09855242073535919\n"," float_data: -0.09918238967657089\n"," float_data: 0.1926700621843338\n"," float_data: -0.015411085449159145\n"," float_data: 0.06880120187997818\n"," float_data: -0.1779782921075821\n"," float_data: 0.013996596448123455\n"," float_data: -0.009337572380900383\n"," float_data: -0.40401268005371094\n"," float_data: -0.36349788308143616\n"," float_data: 0.024537181481719017\n"," float_data: -0.11701644957065582\n"," float_data: -0.19684094190597534\n"," float_data: -0.24279186129570007\n"," float_data: -0.2949340045452118\n"," float_data: -0.09546900540590286\n"," float_data: -0.29880863428115845\n"," float_data: -0.2091635912656784\n"," float_data: -0.06454624235630035\n"," float_data: -0.09352410584688187\n"," float_data: -0.13063128292560577\n"," float_data: -0.07719530910253525\n"," float_data: -0.015509634278714657\n"," float_data: -0.13318678736686707\n"," float_data: 0.1005655825138092\n"," float_data: -0.18421754240989685\n"," float_data: 0.11681082099676132\n"," float_data: 0.13888637721538544\n"," float_data: -0.13101647794246674\n"," float_data: 0.0208098366856575\n"," float_data: 0.011934978887438774\n"," float_data: 0.016694866120815277\n"," float_data: -0.1232849508523941\n"," float_data: -0.17336785793304443\n"," float_data: 0.10684994608163834\n"," float_data: -0.20629042387008667\n"," float_data: -0.0025521425995975733\n"," float_data: -0.08022551983594894\n"," float_data: -0.015917537733912468\n"," float_data: 0.2180190533399582\n"," float_data: -0.19791017472743988\n"," float_data: -0.1673593968153\n"," float_data: -0.06403307616710663\n"," float_data: -0.1271553635597229\n"," float_data: 0.13218767940998077\n"," float_data: -0.14962318539619446\n"," float_data: -0.10590993613004684\n"," float_data: -0.06556273996829987\n"," float_data: 0.09608038514852524\n"," float_data: 0.4399641156196594\n"," float_data: -0.11545287072658539\n"," float_data: -0.1913483887910843\n"," float_data: -0.16551128029823303\n"," float_data: -0.1300518810749054\n"," float_data: -0.05926847830414772\n"," float_data: -0.20521223545074463\n"," float_data: -0.3004314601421356\n"," float_data: -0.14050377905368805\n"," float_data: 0.01287066750228405\n"," float_data: 0.16172394156455994\n"," float_data: 0.056493405252695084\n"," float_data: -0.21612891554832458\n"," float_data: -0.142697274684906\n"," float_data: -0.04841594025492668\n"," float_data: 0.06498148292303085\n"," float_data: -0.024837186560034752\n"," float_data: -0.2095622569322586\n"," float_data: -0.1327848583459854\n"," float_data: 0.2082269936800003\n"," float_data: 0.29817140102386475\n"," float_data: -0.3958395719528198\n"," float_data: 0.0012315640924498439\n"," float_data: 0.1606300324201584\n"," float_data: 0.14921563863754272\n"," float_data: -0.1719454526901245\n"," float_data: -0.22417625784873962\n"," float_data: -0.1224074736237526\n"," float_data: 0.03075721487402916\n"," float_data: -0.08543993532657623\n"," float_data: -0.24014495313167572\n"," float_data: -0.20720459520816803\n"," float_data: -0.1129094809293747\n"," float_data: -0.0777837485074997\n"," float_data: -0.4912426471710205\n"," float_data: -0.2607001066207886\n"," float_data: 0.09397679567337036\n"," float_data: -0.06037205085158348\n"," float_data: -0.17194807529449463\n"," float_data: -0.09484104812145233\n"," float_data: 0.235667422413826\n"," float_data: 0.0298997163772583\n"," float_data: -0.13375046849250793\n"," float_data: -0.11678595840930939\n"," float_data: 0.06369614601135254\n"," float_data: 0.19389821588993073\n"," float_data: 0.01822228915989399\n"," float_data: -0.11250792443752289\n"," float_data: -0.09005735069513321\n"," float_data: -0.0037346198223531246\n"," float_data: -0.04151574522256851\n"," float_data: 0.0276777446269989\n"," float_data: -0.06704837828874588\n"," float_data: -0.10807409882545471\n"," float_data: 0.07279594242572784\n"," float_data: 0.00037549223634414375\n"," float_data: 0.1374470591545105\n"," float_data: -0.07971636205911636\n"," float_data: 0.050221994519233704\n"," float_data: -0.07456394284963608\n"," float_data: 0.03628600388765335\n"," float_data: 0.0672714114189148\n"," float_data: 0.019621342420578003\n"," float_data: -0.007040363736450672\n"," float_data: -0.0024584163911640644\n"," float_data: 0.14657947421073914\n"," float_data: -0.09013102203607559\n"," float_data: -0.017205234616994858\n"," float_data: -0.0029734582640230656\n"," float_data: 0.04067029803991318\n"," float_data: 0.133265420794487\n"," float_data: -0.19262701272964478\n"," float_data: 0.03851403668522835\n"," float_data: 0.07597807794809341\n"," float_data: -0.03894009813666344\n"," float_data: 0.20365791022777557\n"," float_data: -0.05458710715174675\n"," float_data: -0.13279679417610168\n"," float_data: -0.17076259851455688\n"," float_data: 0.08308213204145432\n"," float_data: 0.03594811260700226\n"," float_data: 0.13195179402828217\n"," float_data: 0.05662524700164795\n"," float_data: -0.1479339748620987\n"," float_data: -0.05142957344651222\n"," float_data: 0.024911096319556236\n"," float_data: 0.09497301280498505\n"," float_data: 0.08771537244319916\n"," float_data: -0.18450738489627838\n"," float_data: -0.3274580240249634\n"," float_data: -0.1723305881023407\n"," float_data: 0.24972666800022125\n"," float_data: 0.11131858080625534\n"," float_data: -0.12225835025310516\n"," float_data: -0.2666175365447998\n"," float_data: -0.05561603605747223\n"," float_data: 0.3384305536746979\n"," float_data: -0.010742263868451118\n"," float_data: -0.13553713262081146\n"," float_data: -0.023337947204709053\n"," float_data: -0.1585884541273117\n"," float_data: 0.13291393220424652\n"," float_data: -0.1665944755077362\n"," float_data: 0.03664242476224899\n"," float_data: 0.36329415440559387\n"," float_data: -0.0052890595979988575\n"," float_data: -0.08935342729091644\n"," float_data: -0.16782966256141663\n"," float_data: 0.4154664874076843\n"," float_data: 0.08401496708393097\n"," float_data: -0.005490325856953859\n"," float_data: -0.17276214063167572\n"," float_data: -0.1776987910270691\n"," float_data: -0.2543099522590637\n"," float_data: -0.1918422132730484\n"," float_data: -0.21491499245166779\n"," float_data: 0.030371496453881264\n"," float_data: -0.30694225430488586\n"," float_data: -0.14748217165470123\n"," float_data: -0.16316969692707062\n"," float_data: -0.022662123665213585\n"," float_data: -0.1589118242263794\n"," float_data: -0.34499117732048035\n"," float_data: 0.016575947403907776\n"," float_data: 0.25546497106552124\n"," float_data: 0.41956639289855957\n"," float_data: -0.17676687240600586\n"," float_data: -0.16295258700847626\n"," float_data: 0.14946916699409485\n"," float_data: 0.0504726804792881\n"," float_data: 0.042421575635671616\n"," float_data: -0.32634153962135315\n"," float_data: -0.01980431191623211\n"," float_data: 0.0863298699259758\n"," float_data: 0.011281110346317291\n"," float_data: -0.043400608003139496\n"," float_data: 0.026077648624777794\n"," float_data: 0.09223547577857971\n"," float_data: -0.008472481742501259\n"," float_data: -0.02289782464504242\n"," float_data: -0.10938775539398193\n"," float_data: 0.047743603587150574\n"," float_data: 0.08632590621709824\n"," float_data: -0.0869782343506813\n"," float_data: -0.10349399596452713\n"," float_data: -0.2371327430009842\n"," float_data: 0.015206682495772839\n"," float_data: 0.3043708801269531\n"," float_data: 0.033185843378305435\n"," float_data: -0.1677403748035431\n"," float_data: 0.10788559913635254\n"," float_data: 0.14289642870426178\n"," float_data: 0.15832926332950592\n"," float_data: -0.10159981995820999\n"," float_data: 0.2257034331560135\n"," float_data: 0.07633709162473679\n"," float_data: 0.035476990044116974\n"," float_data: -0.008995553478598595\n"," float_data: 0.2448979616165161\n"," float_data: 0.043584953993558884\n"," float_data: 0.13270224630832672\n"," float_data: -0.11642137169837952\n"," float_data: 0.046961747109889984\n"," float_data: -0.12562842667102814\n"," float_data: -0.13045519590377808\n"," float_data: 0.2589865028858185\n"," float_data: 0.1462501436471939\n"," float_data: 0.01396910473704338\n"," float_data: -0.18083925545215607\n"," float_data: -0.12266993522644043\n"," float_data: 0.21669164299964905\n"," float_data: 0.13043315708637238\n"," float_data: -0.24795007705688477\n"," float_data: -0.07755236327648163\n"," float_data: 0.1058027446269989\n"," float_data: 0.34534886479377747\n"," float_data: 0.15230344235897064\n"," float_data: -0.18038444221019745\n"," float_data: 0.07628408819437027\n"," float_data: -0.040477361530065536\n"," float_data: 0.3155892789363861\n"," float_data: -0.23563548922538757\n"," float_data: -0.0987670049071312\n"," float_data: -0.020773520693182945\n"," float_data: 0.12866266071796417\n"," float_data: 0.007795214187353849\n"," float_data: -0.05567863583564758\n"," float_data: -0.04069242998957634\n"," float_data: 0.018100405111908913\n"," float_data: 0.07602665573358536\n"," float_data: -0.03709479421377182\n"," float_data: -0.19376583397388458\n"," float_data: -0.27393051981925964\n"," float_data: 0.05864730849862099\n"," float_data: 0.004962973762303591\n"," float_data: -0.09719419479370117\n"," float_data: -0.19667363166809082\n"," float_data: -0.07698346674442291\n"," float_data: 0.05539616942405701\n"," float_data: -0.03639049455523491\n"," float_data: -0.25636056065559387\n"," float_data: 0.14271746575832367\n"," float_data: 0.06827230006456375\n"," float_data: -0.03436293080449104\n"," float_data: -0.21579091250896454\n"," float_data: -0.20046265423297882\n"," float_data: 0.17429880797863007\n"," float_data: -0.009857657365500927\n"," float_data: -0.17309468984603882\n"," float_data: 0.015864823013544083\n"," float_data: -0.03480299934744835\n"," float_data: 0.07328956574201584\n"," float_data: 0.1482413113117218\n"," float_data: 0.22561264038085938\n"," float_data: 0.0938318520784378\n"," float_data: 0.024868855252861977\n"," float_data: 0.026193756610155106\n"," float_data: 0.04698070138692856\n"," float_data: 0.011032504960894585\n"," float_data: -0.11348801851272583\n"," float_data: 0.13010556995868683\n"," float_data: 0.029541634023189545\n"," float_data: 0.08172206580638885\n"," float_data: -0.17626126110553741\n"," float_data: -0.25558170676231384\n"," float_data: 0.10013291984796524\n"," float_data: -0.11286602914333344\n"," float_data: -0.22774262726306915\n"," float_data: -0.2565389573574066\n"," float_data: 0.19728107750415802\n"," float_data: 0.2971039116382599\n"," float_data: -0.1352369636297226\n"," float_data: -0.17027194797992706\n"," float_data: -0.18491968512535095\n"," float_data: 0.0592418871819973\n"," float_data: 0.08274230360984802\n"," float_data: -0.12228108942508698\n"," float_data: 0.11720985919237137\n"," float_data: 0.24419665336608887\n"," float_data: 0.33953657746315\n"," float_data: -0.010053749196231365\n"," float_data: -0.20573386549949646\n"," float_data: -0.10988809913396835\n"," float_data: -0.01599220559000969\n"," float_data: -0.08630041778087616\n"," float_data: -0.21884240210056305\n"," float_data: -0.0011970468331128359\n"," float_data: -0.09690215438604355\n"," float_data: -0.2860567569732666\n"," float_data: -0.25249359011650085\n"," float_data: -0.29506269097328186\n"," float_data: -0.19878682494163513\n"," float_data: -0.24717573821544647\n"," float_data: -0.25962597131729126\n"," float_data: -0.10596401989459991\n"," float_data: -0.15180177986621857\n"," float_data: -0.13266345858573914\n"," float_data: -0.3476365804672241\n"," float_data: -0.35321348905563354\n"," float_data: -0.02693963795900345\n"," float_data: -0.04517204314470291\n"," float_data: 0.1347474753856659\n"," float_data: 0.06551877409219742\n"," float_data: 0.11732611060142517\n"," float_data: 0.18416205048561096\n"," float_data: 0.20452354848384857\n"," float_data: -0.1555970311164856\n"," float_data: -0.13807807862758636\n"," float_data: -0.04630351811647415\n"," float_data: 0.06374285370111465\n"," float_data: 0.04937514290213585\n"," float_data: -0.1808212846517563\n"," float_data: -0.06056109443306923\n"," float_data: -0.22906593978405\n"," float_data: -0.11109992116689682\n"," float_data: -0.2703650891780853\n"," float_data: -0.08327022194862366\n"," float_data: -0.17854630947113037\n"," float_data: -0.2751132845878601\n"," float_data: -0.17374996840953827\n"," float_data: -0.05754399672150612\n"," float_data: -0.25563299655914307\n"," float_data: -0.3444579839706421\n"," float_data: -0.33209237456321716\n"," float_data: -0.13241371512413025\n"," float_data: -0.1507311314344406\n"," float_data: -0.0458599254488945\n"," float_data: -0.18026690185070038\n"," float_data: -0.019549662247300148\n"," float_data: 0.09280002862215042\n"," float_data: 0.019341707229614258\n"," float_data: -0.21084073185920715\n"," float_data: 0.02286013960838318\n"," float_data: -0.033520955592393875\n"," float_data: -0.13988149166107178\n"," float_data: -0.06956855207681656\n"," float_data: -0.17530623078346252\n"," float_data: 0.12899141013622284\n"," float_data: 0.09517482668161392\n"," float_data: -0.0026444685645401478\n"," float_data: -0.13921429216861725\n"," float_data: -0.0973266065120697\n"," float_data: 0.149188831448555\n"," float_data: 0.07800910621881485\n"," float_data: -0.06366381794214249\n"," float_data: -0.03144282102584839\n"," float_data: -0.2004280537366867\n"," float_data: 0.06225169450044632\n"," float_data: -0.15379448235034943\n"," float_data: 0.1399761587381363\n"," float_data: 0.03578062355518341\n"," float_data: -0.2833864986896515\n"," float_data: 0.07853612303733826\n"," float_data: 0.03281057998538017\n"," float_data: 0.018781501799821854\n"," float_data: -0.12333155423402786\n"," float_data: -0.07429515570402145\n"," float_data: 0.16664953529834747\n"," float_data: 0.17738287150859833\n"," float_data: 0.150464728474617\n"," float_data: -0.17904020845890045\n"," float_data: 0.07333499938249588\n"," float_data: 0.1420428305864334\n"," float_data: -0.009978152811527252\n"," float_data: -0.21358545124530792\n"," float_data: -0.04897414892911911\n"," float_data: 0.18912136554718018\n"," float_data: -0.0005015463684685528\n"," float_data: -0.2428470104932785\n"," float_data: -0.14563654363155365\n"," float_data: -0.0332910381257534\n"," float_data: 0.10580228269100189\n"," float_data: -0.3154694437980652\n"," float_data: -0.15101458132266998\n"," float_data: 0.003219667822122574\n"," float_data: 0.1480933427810669\n"," float_data: -0.2241315394639969\n"," float_data: -0.06325744092464447\n"," float_data: -0.21262209117412567\n"," float_data: 0.042552441358566284\n"," float_data: 0.0912562757730484\n"," float_data: -0.16822083294391632\n"," float_data: -0.007077492773532867\n"," float_data: -0.30059608817100525\n"," float_data: -0.23668603599071503\n"," float_data: -0.1888251006603241\n"," float_data: -0.06178611144423485\n"," float_data: 0.06518077850341797\n"," float_data: -0.3113889992237091\n"," float_data: -0.1671891063451767\n"," float_data: -0.22406916320323944\n"," float_data: -0.09401162713766098\n"," float_data: -0.09444310516119003\n"," float_data: 0.20701704919338226\n"," float_data: 0.5326575636863708\n"," float_data: 0.10293186455965042\n"," float_data: -0.008675266988575459\n"," float_data: 0.22253666818141937\n"," float_data: 0.3854483664035797\n"," float_data: 0.06323060393333435\n"," float_data: 0.04686513915657997\n"," float_data: -0.2395608127117157\n"," float_data: 0.14906015992164612\n"," float_data: 0.06470972299575806\n"," float_data: 0.18507567048072815\n"," float_data: 0.08771529048681259\n"," float_data: -0.0172132458537817\n"," float_data: -0.10631972551345825\n"," float_data: 0.14580826461315155\n"," float_data: 0.28898191452026367\n"," float_data: 0.10936245322227478\n"," float_data: -0.02717692404985428\n"," float_data: -0.021016471087932587\n"," float_data: -0.06662363559007645\n"," float_data: 0.23331642150878906\n"," float_data: 0.15135277807712555\n"," float_data: -0.1883697807788849\n"," float_data: -0.017400898039340973\n"," float_data: 0.10591831803321838\n"," float_data: -0.2700497806072235\n"," float_data: -0.08066635578870773\n"," float_data: 0.10556872934103012\n"," float_data: -0.044582583010196686\n"," float_data: -0.26075512170791626\n"," float_data: -0.18242688477039337\n"," float_data: 0.10925643891096115\n"," float_data: -0.16166967153549194\n"," float_data: 0.044285356998443604\n"," float_data: 0.10129479318857193\n"," float_data: 0.09576630592346191\n"," float_data: -0.012398604303598404\n"," float_data: -0.110832579433918\n"," float_data: -0.06110904738306999\n"," float_data: 0.018988952040672302\n"," float_data: -0.0959567129611969\n"," float_data: -0.37198057770729065\n"," float_data: 0.12065266072750092\n"," float_data: 0.1575903296470642\n"," float_data: 0.18612925708293915\n"," float_data: -0.20687498152256012\n"," float_data: -0.1998114436864853\n"," float_data: 0.202619731426239\n"," float_data: 0.10698894411325455\n"," float_data: -0.1453993320465088\n"," float_data: -0.26998311281204224\n"," float_data: -0.18321824073791504\n"," float_data: -0.0760231614112854\n"," float_data: -0.10328815132379532\n"," float_data: -0.30033671855926514\n"," float_data: -0.2437833547592163\n"," float_data: -0.15383674204349518\n"," float_data: -0.2155226618051529\n"," float_data: 0.009679398499429226\n"," float_data: 0.04777821898460388\n"," float_data: -0.00957147404551506\n"," float_data: -0.14839990437030792\n"," float_data: -0.17442941665649414\n"," float_data: -0.051215045154094696\n"," float_data: 0.02868163213133812\n"," float_data: -0.009464219212532043\n"," float_data: -0.175765722990036\n"," float_data: -0.08997268974781036\n"," float_data: -0.09946141391992569\n"," float_data: -0.02009236253798008\n"," float_data: -0.06404496729373932\n"," float_data: -0.003384033218026161\n"," float_data: -0.1904933601617813\n"," float_data: 0.0073551274836063385\n"," float_data: 0.05200555548071861\n"," float_data: 0.1879449039697647\n"," float_data: 0.37624815106391907\n"," float_data: 0.13103502988815308\n"," float_data: 0.23060502111911774\n"," float_data: 0.27454715967178345\n"," float_data: 0.19146886467933655\n"," float_data: -0.07663280516862869\n"," float_data: -0.0206294022500515\n"," float_data: 0.10298444330692291\n"," float_data: -0.006697640288621187\n"," float_data: -0.027158547192811966\n"," float_data: 0.2872070074081421\n"," float_data: -0.03663591295480728\n"," float_data: 0.2246231585741043\n"," float_data: 0.18238131701946259\n"," float_data: -0.15988504886627197\n"," float_data: 0.06547840684652328\n"," float_data: -0.1046198308467865\n"," float_data: -0.18605074286460876\n"," float_data: -0.0730196163058281\n"," float_data: -0.042811069637537\n"," float_data: 0.0838024914264679\n"," float_data: -0.32359328866004944\n"," float_data: 0.09644073992967606\n"," float_data: -0.13041187822818756\n"," float_data: 0.042708754539489746\n"," float_data: -0.14140568673610687\n"," float_data: -0.054851338267326355\n"," float_data: -0.06686735153198242\n"," float_data: -0.0436120443046093\n"," float_data: -0.011483201757073402\n"," float_data: -0.10973489284515381\n"," float_data: -0.020457692444324493\n"," float_data: -0.0011978113325312734\n"," float_data: -0.02466648817062378\n"," float_data: -0.07471144944429398\n"," float_data: 0.31381815671920776\n"," float_data: -0.025728747248649597\n"," float_data: 0.17295633256435394\n"," float_data: 0.16908086836338043\n"," float_data: 0.0544915534555912\n"," float_data: 0.23368261754512787\n"," float_data: 0.05139593034982681\n"," float_data: -0.08165951073169708\n"," float_data: -0.0049301194958388805\n"," float_data: -0.1043921411037445\n"," float_data: -0.09103207290172577\n"," float_data: -0.13038723170757294\n"," float_data: 0.024682585150003433\n"," float_data: 0.09280980378389359\n"," float_data: -0.08965624868869781\n"," float_data: -0.2173289805650711\n"," float_data: -0.11851079016923904\n"," float_data: 0.0836050882935524\n"," float_data: -0.1445498913526535\n"," float_data: -0.2996372580528259\n"," float_data: -0.05894472822546959\n"," float_data: 0.2071380764245987\n"," float_data: -0.007876926101744175\n"," float_data: 0.1546112596988678\n"," float_data: 0.008365999907255173\n"," float_data: 0.07036849856376648\n"," float_data: -0.1071542277932167\n"," float_data: -0.04873289912939072\n"," float_data: -0.01628076285123825\n"," float_data: 0.11483966559171677\n"," float_data: 0.0471089631319046\n"," float_data: -0.08725746721029282\n"," float_data: -0.24715320765972137\n"," float_data: -0.3144981563091278\n"," float_data: -0.21280460059642792\n"," float_data: -0.01670234091579914\n"," float_data: -0.41751110553741455\n"," float_data: -0.3320493996143341\n"," float_data: -0.47275543212890625\n"," float_data: -0.4394574761390686\n"," float_data: -0.2902557849884033\n"," float_data: -0.3440623879432678\n"," float_data: -0.3676583766937256\n"," float_data: -0.3230421841144562\n"," float_data: -0.10271696001291275\n"," float_data: 0.11769703775644302\n"," float_data: -0.1984442174434662\n"," float_data: -0.09053533524274826\n"," float_data: -0.0142294242978096\n"," float_data: -0.08133108913898468\n"," float_data: -0.03549562767148018\n"," float_data: -0.09528719633817673\n"," float_data: -0.05626038834452629\n"," float_data: 0.08650588989257812\n"," float_data: -0.14065606892108917\n"," float_data: -0.10357911139726639\n"," float_data: 0.1517326980829239\n"," float_data: 0.16220185160636902\n"," float_data: -0.10313296318054199\n"," float_data: -0.08603596687316895\n"," float_data: -0.1982647329568863\n"," float_data: -0.02469531260430813\n"," float_data: -0.06589321047067642\n"," float_data: 0.05010022595524788\n"," float_data: 0.1030510887503624\n"," float_data: 0.15548637509346008\n"," float_data: -0.19065749645233154\n"," float_data: -0.10342811793088913\n"," float_data: 0.14710229635238647\n"," float_data: 0.09911081194877625\n"," float_data: 0.026040056720376015\n"," float_data: -0.2385258972644806\n"," float_data: -0.02202725224196911\n"," float_data: -0.2781979739665985\n"," float_data: -0.15072456002235413\n"," float_data: 0.16351141035556793\n"," float_data: 0.0903412476181984\n"," float_data: 0.05495467036962509\n"," float_data: -0.21249951422214508\n"," float_data: 0.043895818293094635\n"," float_data: 0.21818752586841583\n"," float_data: 0.14050047099590302\n"," float_data: 0.002930961549282074\n"," float_data: -0.10563881695270538\n"," float_data: 0.12919515371322632\n"," float_data: 0.011017071083188057\n"," float_data: 0.24015453457832336\n"," float_data: -0.33231496810913086\n"," float_data: -0.09003341943025589\n"," float_data: -0.14618422091007233\n"," float_data: -0.21795699000358582\n"," float_data: 0.01837809942662716\n"," float_data: -0.09987379610538483\n"," float_data: -0.3663826882839203\n"," float_data: -0.4173044264316559\n"," float_data: -0.11637169122695923\n"," float_data: -0.020905762910842896\n"," float_data: 0.11880181729793549\n"," float_data: 0.17549486458301544\n"," float_data: 0.03912606090307236\n"," float_data: -0.1807737499475479\n"," float_data: 0.006064896937459707\n"," float_data: -0.0630958154797554\n"," float_data: 0.11843215674161911\n"," float_data: 0.41298454999923706\n"," float_data: -0.1091005727648735\n"," float_data: 0.10295723378658295\n"," float_data: -0.1581384539604187\n"," float_data: 0.14200490713119507\n"," float_data: 0.29805049300193787\n"," float_data: 0.022545920684933662\n"," float_data: -0.15240342915058136\n"," float_data: -0.00491176825016737\n"," float_data: 0.13014067709445953\n"," float_data: 0.45092645287513733\n"," float_data: 0.07225018739700317\n"," float_data: -0.13036979734897614\n"," float_data: -0.13428206741809845\n"," float_data: 0.0034701437689363956\n"," float_data: 0.20728935301303864\n"," float_data: 0.009152990765869617\n"," float_data: 0.10160040855407715\n"," float_data: -0.017770782113075256\n"," float_data: -0.10279397666454315\n"," float_data: -0.06607762724161148\n"," float_data: -0.08658703416585922\n"," float_data: 0.1220579519867897\n"," float_data: 0.19294346868991852\n"," float_data: -0.025889908894896507\n"," float_data: -0.01841019280254841\n"," float_data: -0.17648042738437653\n"," float_data: -0.08403707295656204\n"," float_data: -0.029459312558174133\n"," float_data: -0.19456534087657928\n"," float_data: -0.12360013276338577\n"," float_data: -0.36285629868507385\n"," float_data: -0.11465441435575485\n"," float_data: -0.10222556442022324\n"," float_data: -0.09279078990221024\n"," float_data: 0.1495802253484726\n"," float_data: -0.15256500244140625\n"," float_data: -0.22689108550548553\n"," float_data: -0.146629199385643\n"," float_data: -0.14952827990055084\n"," float_data: 0.09984276443719864\n"," float_data: 0.018248051404953003\n"," float_data: 0.23495875298976898\n"," float_data: 0.10801473259925842\n"," float_data: -0.03429274260997772\n"," float_data: -0.05211322754621506\n"," float_data: -0.06912677735090256\n"," float_data: 0.13573074340820312\n"," float_data: 0.16471682488918304\n"," float_data: -0.19381144642829895\n"," float_data: 0.11798721551895142\n"," float_data: -0.08782480657100677\n"," float_data: 0.04675177112221718\n"," float_data: -0.15473148226737976\n"," float_data: -0.12090275436639786\n"," float_data: 0.019765134900808334\n"," float_data: -0.1646607518196106\n"," float_data: 0.03201333060860634\n"," float_data: -0.2862144708633423\n"," float_data: -0.25593292713165283\n"," float_data: 0.02036255970597267\n"," float_data: -0.11477534472942352\n"," float_data: -0.05171440169215202\n"," float_data: -0.2082870751619339\n"," float_data: -0.0500066801905632\n"," float_data: -0.06700050085783005\n"," float_data: -0.26217031478881836\n"," float_data: 0.04017994925379753\n"," float_data: -0.17876966297626495\n"," float_data: -0.09571023285388947\n"," float_data: -0.09712506085634232\n"," float_data: -0.06483881920576096\n"," float_data: 0.050782375037670135\n"," float_data: 0.08086526393890381\n"," float_data: -0.14124174416065216\n"," float_data: -0.1476992666721344\n"," float_data: 0.10607345402240753\n"," float_data: -0.11617141216993332\n"," float_data: -0.0950997993350029\n"," float_data: -0.27055782079696655\n"," float_data: -0.02927429974079132\n"," float_data: 0.17202182114124298\n"," float_data: -0.08933133631944656\n"," float_data: -0.11667614430189133\n"," float_data: -0.14691874384880066\n"," float_data: -0.015447476878762245\n"," float_data: 0.3727625012397766\n"," float_data: -0.10610129684209824\n"," float_data: -0.07311651110649109\n"," float_data: -0.013537811115384102\n"," float_data: 0.023837575688958168\n"," float_data: 0.1392187774181366\n"," float_data: 0.0890526995062828\n"," float_data: -0.0032879847567528486\n"," float_data: -0.30976781249046326\n"," float_data: -0.20187105238437653\n"," float_data: -0.12630799412727356\n"," float_data: 0.11445321887731552\n"," float_data: 0.029607923701405525\n"," float_data: -0.053274139761924744\n"," float_data: -0.27743834257125854\n"," float_data: -0.04893269017338753\n"," float_data: -0.0879630520939827\n"," float_data: -0.1052839457988739\n"," float_data: -0.07318087667226791\n"," float_data: -0.20961572229862213\n"," float_data: -0.15003490447998047\n"," float_data: 0.011706658639013767\n"," float_data: -0.13202907145023346\n"," float_data: -0.14036430418491364\n"," float_data: -0.14057491719722748\n"," float_data: 0.11583326756954193\n"," float_data: -0.03035786934196949\n"," float_data: -0.18036633729934692\n"," float_data: -0.102110855281353\n"," float_data: 0.06427764147520065\n"," float_data: 0.18574032187461853\n"," float_data: -0.20340421795845032\n"," float_data: -0.2226450890302658\n"," float_data: -0.3532222509384155\n"," float_data: -0.17690040171146393\n"," float_data: 0.24420857429504395\n"," float_data: -0.09712269902229309\n"," float_data: -0.013423288241028786\n"," float_data: -0.05223367363214493\n"," float_data: -0.06324184685945511\n"," float_data: 0.2915133535861969\n"," float_data: -0.03807725012302399\n"," float_data: 0.1592804193496704\n"," float_data: 0.010391289368271828\n"," float_data: 0.07036372274160385\n"," float_data: 0.32067209482192993\n"," float_data: 0.10205161571502686\n"," float_data: 0.29072636365890503\n"," float_data: 0.1460496485233307\n"," float_data: 0.15928137302398682\n"," float_data: 0.3670864999294281\n"," float_data: 0.18808019161224365\n"," float_data: 0.0704004243016243\n"," float_data: 0.09752059727907181\n"," float_data: -0.08419856429100037\n"," float_data: 0.017799165099859238\n"," float_data: 0.09501618146896362\n"," float_data: -0.05567554011940956\n"," float_data: 0.09105060249567032\n"," float_data: 0.033384159207344055\n"," float_data: 0.043803803622722626\n"," float_data: -0.04768095538020134\n"," float_data: 0.21684065461158752\n"," float_data: -0.015350324101746082\n"," float_data: -0.14381882548332214\n"," float_data: 0.01870122365653515\n"," float_data: 0.1213555857539177\n"," float_data: 0.043534114956855774\n"," float_data: -0.004041086416691542\n"," float_data: -0.003919785842299461\n"," float_data: -0.1874760091304779\n"," float_data: 0.07643667608499527\n"," float_data: -0.21807533502578735\n"," float_data: -0.12455408275127411\n"," float_data: 0.17523805797100067\n"," float_data: -0.1797899752855301\n"," float_data: -0.03259379789233208\n"," float_data: -0.32365861535072327\n"," float_data: -0.21219541132450104\n"," float_data: -0.1662071943283081\n"," float_data: 0.004090193193405867\n"," float_data: 0.060685403645038605\n"," float_data: 0.07820228487253189\n"," float_data: -0.0368727371096611\n"," float_data: -0.014137346297502518\n"," float_data: -0.10795308649539948\n"," float_data: 0.10761340707540512\n"," float_data: 0.15035666525363922\n"," float_data: -0.15893007814884186\n"," float_data: -0.09580163657665253\n"," float_data: -0.0700661763548851\n"," float_data: -0.04883328452706337\n"," float_data: -0.127066969871521\n"," float_data: 0.02467939630150795\n"," float_data: 0.02719433605670929\n"," float_data: -0.030211621895432472\n"," float_data: -0.2106005698442459\n"," float_data: 0.02645151875913143\n"," float_data: 0.13456374406814575\n"," float_data: 0.11560872942209244\n"," float_data: -0.048604816198349\n"," float_data: 0.03730705380439758\n"," float_data: 0.26786699891090393\n"," float_data: 0.10168687254190445\n"," float_data: 0.15440720319747925\n"," float_data: 0.333089143037796\n"," float_data: 0.019061286002397537\n"," float_data: -0.06913160532712936\n"," float_data: -0.08926842361688614\n"," float_data: -0.13829170167446136\n"," float_data: -0.049724891781806946\n"," float_data: 0.06774496287107468\n"," float_data: -0.1507083922624588\n"," float_data: -0.005107280798256397\n"," float_data: 0.015856213867664337\n"," float_data: -0.044023074209690094\n"," float_data: 0.10370689630508423\n"," float_data: -0.23135975003242493\n"," float_data: -0.09763240069150925\n"," float_data: -0.0742754265666008\n"," float_data: 0.0592571422457695\n"," float_data: 0.17990727722644806\n"," float_data: -0.020424913614988327\n"," float_data: 0.05212269723415375\n"," float_data: 0.07666853815317154\n"," float_data: -0.07569599151611328\n"," float_data: 0.12268605828285217\n"," float_data: 0.04598599299788475\n"," float_data: 0.11218740046024323\n"," float_data: 0.16469424962997437\n"," float_data: -0.003150396514683962\n"," float_data: -0.08560936152935028\n"," float_data: -0.1714411824941635\n"," float_data: -0.18154288828372955\n"," float_data: -0.19995787739753723\n"," float_data: -0.027544889599084854\n"," float_data: -0.10454297065734863\n"," float_data: -0.1574077308177948\n"," float_data: -0.07835753262042999\n"," float_data: -0.0537114143371582\n"," float_data: 0.017605124041438103\n"," float_data: -0.0450231209397316\n"," float_data: -0.02547929808497429\n"," float_data: -0.061385318636894226\n"," float_data: 0.021292470395565033\n"," float_data: 0.06567129492759705\n"," float_data: -0.12805694341659546\n"," float_data: 0.07723911851644516\n"," float_data: 0.16545958817005157\n"," float_data: 0.03636464849114418\n"," float_data: -0.23016110062599182\n"," float_data: 0.14191795885562897\n"," float_data: 0.22819748520851135\n"," float_data: 0.31870847940444946\n"," float_data: -0.18707342445850372\n"," float_data: -0.39112693071365356\n"," float_data: -0.0002914036449510604\n"," float_data: -0.05006469413638115\n"," float_data: -0.11482483893632889\n"," float_data: -0.12156588584184647\n"," float_data: 0.12397248297929764\n"," float_data: 0.004818559158593416\n"," float_data: -0.039556872099637985\n"," float_data: -0.04269751161336899\n"," float_data: 0.0704243928194046\n"," float_data: -0.010953606106340885\n"," float_data: 0.0584075041115284\n"," float_data: -0.024163249880075455\n"," float_data: 0.08746067434549332\n"," float_data: 0.029075266793370247\n"," float_data: 0.09364321082830429\n"," float_data: -0.08153349906206131\n"," float_data: 0.024203576147556305\n"," float_data: -0.05363624170422554\n"," float_data: -0.0708167552947998\n"," float_data: -0.0593719445168972\n"," float_data: -0.2417459785938263\n"," float_data: -0.13787615299224854\n"," float_data: -0.2537054121494293\n"," float_data: -0.10379768908023834\n"," float_data: 0.09051993489265442\n"," float_data: -0.006841186434030533\n"," float_data: -0.18749172985553741\n"," float_data: -0.22089523077011108\n"," float_data: -0.09179354459047318\n"," float_data: -0.0036450019106268883\n"," float_data: -0.20024706423282623\n"," float_data: -0.12908129394054413\n"," float_data: -0.09465787559747696\n"," float_data: 0.0025590502191334963\n"," float_data: 0.009588697925209999\n"," float_data: 0.04907683655619621\n"," float_data: 0.25999459624290466\n"," float_data: 0.03137040138244629\n"," float_data: -0.06768953055143356\n"," float_data: -0.05741386488080025\n"," float_data: 0.18991616368293762\n"," float_data: 0.012778333388268948\n"," float_data: -0.13399361073970795\n"," float_data: -0.20112550258636475\n"," float_data: -0.11014849692583084\n"," float_data: -0.15951122343540192\n"," float_data: -0.0500679537653923\n"," float_data: -0.24756480753421783\n"," float_data: -0.16328373551368713\n"," float_data: 0.05914198234677315\n"," float_data: -0.047905709594488144\n"," float_data: -0.01943720318377018\n"," float_data: -0.16938409209251404\n"," float_data: 0.00566032575443387\n"," float_data: -0.07564867287874222\n"," float_data: -0.16811136901378632\n"," float_data: -0.08813551068305969\n"," float_data: -0.16604609787464142\n"," float_data: -0.11029907315969467\n"," float_data: -0.03788130730390549\n"," float_data: 0.16822099685668945\n"," float_data: 0.21191082894802094\n"," float_data: 0.05789146572351456\n"," float_data: -0.034764617681503296\n"," float_data: -0.10285808891057968\n"," float_data: 0.10685564577579498\n"," float_data: 0.04687060788273811\n"," float_data: -0.04785851016640663\n"," float_data: -0.19113384187221527\n"," float_data: -0.11736606061458588\n"," float_data: -0.19135688245296478\n"," float_data: -0.13008107244968414\n"," float_data: -0.16139189898967743\n"," float_data: -0.27423498034477234\n"," float_data: -0.1139947697520256\n"," float_data: -0.002299768151715398\n"," float_data: -0.03363873437047005\n"," float_data: -0.010529465973377228\n"," float_data: -0.1614876091480255\n"," float_data: -0.03366705775260925\n"," float_data: 0.012305823154747486\n"," float_data: 0.03186067193746567\n"," float_data: 0.11308486014604568\n"," float_data: -0.0743972659111023\n"," float_data: -0.035192061215639114\n"," float_data: -0.027682624757289886\n"," float_data: 0.13673707842826843\n"," float_data: -0.003986587282270193\n"," float_data: -0.11996402591466904\n"," float_data: 0.0031558224000036716\n"," float_data: 0.049582589417696\n"," float_data: -0.03423725441098213\n"," float_data: -0.06419599056243896\n"," float_data: -0.09960241615772247\n"," float_data: -0.07921914756298065\n"," float_data: -0.09984888136386871\n"," float_data: -0.022778134793043137\n"," float_data: 0.0328502431511879\n"," float_data: -0.07681623101234436\n"," float_data: 0.06328267604112625\n"," float_data: -0.09261514246463776\n"," float_data: -0.23364153504371643\n"," float_data: -0.17584896087646484\n"," float_data: -0.12131179869174957\n"," float_data: 0.11819427460432053\n"," float_data: 9.840578422881663e-05\n"," float_data: -0.16914008557796478\n"," float_data: -0.14319154620170593\n"," float_data: -0.0889936164021492\n"," float_data: -0.09342923015356064\n"," float_data: -0.09051921963691711\n"," float_data: -0.07507352530956268\n"," float_data: -0.08036774396896362\n"," float_data: -0.024037620052695274\n"," float_data: -0.02825877070426941\n"," float_data: 0.019431335851550102\n"," float_data: 0.19084477424621582\n"," float_data: 0.20427902042865753\n"," float_data: 0.001147413277067244\n"," float_data: -0.11692720651626587\n"," float_data: 0.23554106056690216\n"," float_data: 0.22103194892406464\n"," float_data: 0.08759090304374695\n"," float_data: -0.25354382395744324\n"," float_data: -0.07971490174531937\n"," float_data: -0.2396189570426941\n"," float_data: 0.13963869214057922\n"," float_data: 0.22888055443763733\n"," float_data: -0.17719906568527222\n"," float_data: -0.06413081288337708\n"," float_data: -0.17226392030715942\n"," float_data: -0.04852486029267311\n"," float_data: -0.1257057934999466\n"," float_data: -0.07671749591827393\n"," float_data: -0.06737338751554489\n"," float_data: -0.1216805949807167\n"," float_data: -0.06046278029680252\n"," float_data: 0.07491951435804367\n"," float_data: -0.0836677998304367\n"," float_data: -0.16019511222839355\n"," float_data: 0.09679513424634933\n"," float_data: 0.02615419402718544\n"," float_data: -0.02895020693540573\n"," float_data: 0.11257169395685196\n"," float_data: 0.021143218502402306\n"," float_data: 0.2357875555753708\n"," float_data: 0.13821323215961456\n"," float_data: -0.172121062874794\n"," float_data: 0.2564495801925659\n"," float_data: 0.15030646324157715\n"," float_data: -0.15401922166347504\n"," float_data: -0.005129547324031591\n"," float_data: -0.10490493476390839\n"," float_data: 0.031676847487688065\n"," float_data: -0.12825359404087067\n"," float_data: 0.016066234558820724\n"," float_data: -0.10008502006530762\n"," float_data: 0.0408390648663044\n"," float_data: 0.08540340512990952\n"," float_data: -0.2527438998222351\n"," float_data: 0.018851736560463905\n"," float_data: -0.0036638150922954082\n"," float_data: -0.020703274756669998\n"," float_data: -0.03762085363268852\n"," float_data: 0.08971523493528366\n"," float_data: -0.12017375230789185\n"," float_data: -0.06834498047828674\n"," float_data: -0.07595597207546234\n"," float_data: 0.006653539836406708\n"," float_data: 0.12468481063842773\n"," float_data: -0.03157215937972069\n"," float_data: -0.2784830629825592\n"," float_data: 0.08835187554359436\n"," float_data: 0.09326324611902237\n"," float_data: 0.05165494978427887\n"," float_data: 0.204855814576149\n"," float_data: 0.28688502311706543\n"," float_data: 0.04115425795316696\n"," float_data: -0.16958419978618622\n"," float_data: 0.022188352420926094\n"," float_data: -0.034609731286764145\n"," float_data: 0.07781386375427246\n"," float_data: 0.030051985755562782\n"," float_data: -0.11765152215957642\n"," float_data: -0.12999142706394196\n"," float_data: 0.03514641895890236\n"," float_data: 0.06215678155422211\n"," float_data: 0.12592512369155884\n"," float_data: -0.10368996113538742\n"," float_data: -0.23787249624729156\n"," float_data: 0.00823953840881586\n"," float_data: 0.059710558503866196\n"," float_data: 0.1965235471725464\n"," float_data: 0.014912329614162445\n"," float_data: -0.05145514756441116\n"," float_data: 0.008298621512949467\n"," float_data: 0.02400660328567028\n"," float_data: -0.1534443348646164\n"," float_data: -0.227367103099823\n"," float_data: -0.17465926706790924\n"," float_data: -0.087058886885643\n"," float_data: -0.0819503515958786\n"," float_data: 0.02512240596115589\n"," float_data: -0.19902090728282928\n"," float_data: -0.31067028641700745\n"," float_data: -0.26244238018989563\n"," float_data: -0.20822332799434662\n"," float_data: -0.12655338644981384\n"," float_data: -0.023556945845484734\n"," float_data: -0.15583258867263794\n"," float_data: -0.1472005844116211\n"," float_data: -0.10240335762500763\n"," float_data: 0.10180413722991943\n"," float_data: 0.039840150624513626\n"," float_data: 0.16503837704658508\n"," float_data: -0.05531330034136772\n"," float_data: -0.03939545899629593\n"," float_data: 0.11107568442821503\n"," float_data: 0.0584467351436615\n"," float_data: 0.39487364888191223\n"," float_data: 0.03639357164502144\n"," float_data: 0.02545267343521118\n"," float_data: 0.13117626309394836\n"," float_data: 0.4097166359424591\n"," float_data: 0.4704922139644623\n"," float_data: -0.0075064185075461864\n"," float_data: 0.027232155203819275\n"," float_data: 0.02421271987259388\n"," float_data: -0.026749441400170326\n"," float_data: -0.12744025886058807\n"," float_data: 0.006767702754586935\n"," float_data: 0.09552627056837082\n"," float_data: 0.060782019048929214\n"," float_data: -0.08731986582279205\n"," float_data: 0.027963491156697273\n"," float_data: -0.10893512517213821\n"," float_data: 0.08074875921010971\n"," float_data: 0.01342702005058527\n"," float_data: 0.03775434568524361\n"," float_data: 0.24610066413879395\n"," float_data: -2.284697075083386e-05\n"," float_data: -0.08442918956279755\n"," float_data: -0.05321495980024338\n"," float_data: -0.06211590766906738\n"," float_data: 0.09092846512794495\n"," float_data: 0.009333260357379913\n"," float_data: 0.042374394834041595\n"," float_data: -0.16055887937545776\n"," float_data: -0.010524691082537174\n"," float_data: -0.05229874700307846\n"," float_data: 0.17351892590522766\n"," float_data: 0.05016486719250679\n"," float_data: -0.10062311589717865\n"," float_data: -0.01245815958827734\n"," float_data: 0.04912189766764641\n"," float_data: -0.15517102181911469\n"," float_data: 0.05551593750715256\n"," float_data: 0.09836620092391968\n"," float_data: -0.13195830583572388\n"," float_data: 0.02613997645676136\n"," float_data: 0.020531892776489258\n"," float_data: 0.07372374087572098\n"," float_data: 0.12314315885305405\n"," float_data: -0.04075516015291214\n"," float_data: 0.12312952429056168\n"," float_data: 0.017657192423939705\n"," float_data: -0.09388758987188339\n"," float_data: 0.04298393800854683\n"," float_data: 0.0376976914703846\n"," float_data: -0.10657943785190582\n"," float_data: -0.014692269265651703\n"," float_data: 0.028644101694226265\n"," float_data: -0.0012099439045414329\n"," float_data: -0.13629987835884094\n"," float_data: -0.37033939361572266\n"," float_data: 0.13997939229011536\n"," float_data: -0.07149897515773773\n"," float_data: 0.19163021445274353\n"," float_data: 0.2112896740436554\n"," float_data: -0.007434510625898838\n"," float_data: 0.08748137950897217\n"," float_data: 0.035120345652103424\n"," float_data: 0.017099518328905106\n"," float_data: 0.014196478761732578\n"," float_data: 0.041091177612543106\n"," float_data: -0.05924266204237938\n"," float_data: -0.013525492511689663\n"," float_data: -0.09961263090372086\n"," float_data: -0.13462430238723755\n"," float_data: -0.05352376773953438\n"," float_data: 0.052685417234897614\n"," float_data: -0.13710661232471466\n"," float_data: -0.12186338007450104\n"," float_data: -0.12708264589309692\n"," float_data: -0.12692058086395264\n"," float_data: 0.10882620513439178\n"," float_data: 0.0906781256198883\n"," float_data: -0.05861654877662659\n"," float_data: -0.07500675320625305\n"," float_data: -0.10414785146713257\n"," float_data: 0.2119355946779251\n"," float_data: 0.21172338724136353\n"," float_data: 0.06868530809879303\n"," float_data: -0.2540980279445648\n"," float_data: -0.16105949878692627\n"," float_data: 0.01724047213792801\n"," float_data: 0.04296639561653137\n"," float_data: 0.10826094448566437\n"," float_data: -0.16289924085140228\n"," float_data: -0.24944673478603363\n"," float_data: 0.0012548284139484167\n"," float_data: -0.09175790846347809\n"," float_data: -0.07098469883203506\n"," float_data: -0.10132147371768951\n"," float_data: -0.21263112127780914\n"," float_data: 0.05744437500834465\n"," float_data: 0.013898895122110844\n"," float_data: -0.0008237772271968424\n"," float_data: -0.1316782534122467\n"," float_data: -0.21643297374248505\n"," float_data: 0.02665071375668049\n"," float_data: -0.039899468421936035\n"," float_data: -0.20941269397735596\n"," float_data: -0.12282302230596542\n"," float_data: 0.025393960997462273\n"," float_data: 0.03791604936122894\n"," float_data: 0.11752580106258392\n"," float_data: -0.11997079104185104\n"," float_data: -0.17006425559520721\n"," float_data: -0.0974060446023941\n"," float_data: 0.2040930837392807\n"," float_data: 0.18937800824642181\n"," float_data: -0.04156796634197235\n"," float_data: 0.04682784900069237\n"," float_data: -0.05478455126285553\n"," float_data: -0.07522128522396088\n"," float_data: -0.07960820198059082\n"," float_data: -0.10860631614923477\n"," float_data: -0.13048386573791504\n"," float_data: -0.01907430961728096\n"," float_data: -0.20847836136817932\n"," float_data: -0.12601810693740845\n"," float_data: -0.05182056128978729\n"," float_data: -0.1340228170156479\n"," float_data: -0.2559832036495209\n"," float_data: -0.04736020416021347\n"," float_data: 0.038704849779605865\n"," float_data: -0.16174907982349396\n"," float_data: -0.18938277661800385\n"," float_data: -0.23769408464431763\n"," float_data: 0.09377532452344894\n"," float_data: 0.0316203348338604\n"," float_data: 0.17238400876522064\n"," float_data: 0.15128959715366364\n"," float_data: 0.06676064431667328\n"," float_data: 0.01735650561749935\n"," float_data: -0.24847467243671417\n"," float_data: 0.06912048906087875\n"," float_data: 0.08293496072292328\n"," float_data: 0.14625200629234314\n"," float_data: 0.14844031631946564\n"," float_data: -0.1716056615114212\n"," float_data: -0.09441854059696198\n"," float_data: 0.003140414599329233\n"," float_data: 0.04708539694547653\n"," float_data: 0.03722015395760536\n"," float_data: -0.0891025960445404\n"," float_data: 0.03273649141192436\n"," float_data: -0.17332570254802704\n"," float_data: -0.12498585879802704\n"," float_data: 0.12006985396146774\n"," float_data: -0.008997735567390919\n"," float_data: 0.005789116956293583\n"," float_data: -0.20669680833816528\n"," float_data: 0.07063423097133636\n"," float_data: -0.0045884838327765465\n"," float_data: -0.08422159403562546\n"," float_data: 0.047885648906230927\n"," float_data: 0.013271360658109188\n"," float_data: 0.04124471917748451\n"," float_data: -0.07766992598772049\n"," float_data: 0.04437686875462532\n"," float_data: 0.07709188759326935\n"," float_data: -0.003952840343117714\n"," float_data: 0.011193477548658848\n"," float_data: 0.2308434247970581\n"," float_data: 0.0352470688521862\n"," float_data: -0.14262109994888306\n"," float_data: -0.006152662448585033\n"," float_data: 0.11057950556278229\n"," float_data: 0.15979771316051483\n"," float_data: -0.0875079557299614\n"," float_data: -0.19825321435928345\n"," float_data: -0.049622949212789536\n"," float_data: -0.0015058054123073816\n"," float_data: -0.0384463295340538\n"," float_data: -0.03928394615650177\n"," float_data: 0.017626123502850533\n"," float_data: 0.0032545679714530706\n"," float_data: -0.18658564984798431\n"," float_data: 0.259381502866745\n"," float_data: 0.007519046775996685\n"," float_data: -0.2376730889081955\n"," float_data: -0.20677244663238525\n"," float_data: 0.049227409064769745\n"," float_data: 0.11393087357282639\n"," float_data: -0.14944511651992798\n"," float_data: -0.2871221899986267\n"," float_data: -0.18484020233154297\n"," float_data: -0.02631327509880066\n"," float_data: -0.2249223291873932\n"," float_data: -0.13892489671707153\n"," float_data: -0.20621660351753235\n"," float_data: -0.1390407681465149\n"," float_data: -0.07978161424398422\n"," float_data: -0.18970906734466553\n"," float_data: -0.13464243710041046\n"," float_data: -0.14555296301841736\n"," float_data: -0.05649721994996071\n"," float_data: -0.14710566401481628\n"," float_data: 0.04794403538107872\n"," float_data: 0.05822640284895897\n"," float_data: -0.021077953279018402\n"," float_data: 0.01606758125126362\n"," float_data: 0.18601414561271667\n"," float_data: 0.05376607924699783\n"," float_data: 0.01687629334628582\n"," float_data: -0.10760953277349472\n"," float_data: 0.002376855816692114\n"," float_data: -0.16628874838352203\n"," float_data: -0.02771289087831974\n"," float_data: -0.07196903228759766\n"," float_data: -0.1462544947862625\n"," float_data: -0.1989220380783081\n"," float_data: 0.009861456230282784\n"," float_data: -0.03116292878985405\n"," float_data: -0.0843893438577652\n"," float_data: -0.056947972625494\n"," float_data: 0.030412355437874794\n"," float_data: -0.14734292030334473\n"," float_data: -0.015280810184776783\n"," float_data: 0.04345068708062172\n"," float_data: -0.09911275655031204\n"," float_data: 0.06721687316894531\n"," float_data: -0.1371580809354782\n"," float_data: -0.07826177030801773\n"," float_data: 0.06090272590517998\n"," float_data: 0.029655463993549347\n"," float_data: 0.08085127174854279\n"," float_data: 0.21955598890781403\n"," float_data: 0.007791598327457905\n"," float_data: -0.17671631276607513\n"," float_data: -0.009461888112127781\n"," float_data: -0.01337971817702055\n"," float_data: -0.05811981111764908\n"," float_data: -0.21824118494987488\n"," float_data: -0.04433790594339371\n"," float_data: -0.03396182507276535\n"," float_data: -0.17719145119190216\n"," float_data: 0.004158083815127611\n"," float_data: -0.06344307214021683\n"," float_data: 0.09530612081289291\n"," float_data: -0.05958188325166702\n"," float_data: -0.04285247623920441\n"," float_data: -0.032206129282712936\n"," float_data: -0.01752249151468277\n"," float_data: 0.0136181078851223\n"," float_data: 0.04746931046247482\n"," float_data: -0.04476536437869072\n"," float_data: -0.13436146080493927\n"," float_data: -0.04273949936032295\n"," float_data: -0.03315950557589531\n"," float_data: -0.04112407565116882\n"," float_data: 0.029338540509343147\n"," float_data: 0.24079091846942902\n"," float_data: -0.20155911147594452\n"," float_data: -0.004041842184960842\n"," float_data: 0.15413641929626465\n"," float_data: -0.17833857238292694\n"," float_data: -0.0029308595694601536\n"," float_data: -0.014963881112635136\n"," float_data: 0.19375060498714447\n"," float_data: 0.03481123223900795\n"," float_data: -0.06549357622861862\n"," float_data: 0.05228158086538315\n"," float_data: 0.25178393721580505\n"," float_data: 0.15584157407283783\n"," float_data: -0.11138920485973358\n"," float_data: -0.06900258362293243\n"," float_data: -0.1286614090204239\n"," float_data: -0.06771023571491241\n"," float_data: -0.22163213789463043\n"," float_data: -0.07439027726650238\n"," float_data: 0.030526040121912956\n"," float_data: -0.2030724138021469\n"," float_data: -0.22259250283241272\n"," float_data: -0.11553328484296799\n"," float_data: -0.10924137383699417\n"," float_data: 0.17891861498355865\n"," float_data: 0.19344545900821686\n"," float_data: 0.07368660718202591\n"," float_data: 0.22504501044750214\n"," float_data: -0.06462597101926804\n"," float_data: 0.025440169498324394\n"," float_data: 0.08109414577484131\n"," float_data: 0.2586511969566345\n"," float_data: 0.13528364896774292\n"," float_data: -0.007965746335685253\n"," float_data: 0.01224359031766653\n"," float_data: 0.10130314528942108\n"," float_data: 0.23459261655807495\n"," float_data: -0.0972885712981224\n"," float_data: -0.26341134309768677\n"," float_data: -0.07255029678344727\n"," float_data: 0.06163343787193298\n"," float_data: -0.09539055824279785\n"," float_data: -0.18845432996749878\n"," float_data: -0.1160246729850769\n"," float_data: -0.15175916254520416\n"," float_data: -0.07703544199466705\n"," float_data: -0.08954305201768875\n"," float_data: 0.018136778846383095\n"," float_data: -0.02451903373003006\n"," float_data: -0.10092924535274506\n"," float_data: -0.2096453309059143\n"," float_data: 0.09329509735107422\n"," float_data: -0.03888171166181564\n"," float_data: -0.20742550492286682\n"," float_data: -0.19547367095947266\n"," float_data: -0.17629767954349518\n"," float_data: -0.11726798862218857\n"," float_data: 0.1620369851589203\n"," float_data: -0.1793665885925293\n"," float_data: -0.2218245267868042\n"," float_data: 0.057226505130529404\n"," float_data: -0.07165323197841644\n"," float_data: 0.00649593910202384\n"," float_data: 0.20411331951618195\n"," float_data: 0.5647211670875549\n"," float_data: 0.19953320920467377\n"," float_data: -0.13235674798488617\n"," float_data: 0.29019400477409363\n"," float_data: 0.2693951427936554\n"," float_data: 0.313791960477829\n"," float_data: 0.11655484884977341\n"," float_data: 0.10399580001831055\n"," float_data: 0.07897382974624634\n"," float_data: 0.2602117359638214\n"," float_data: 0.161493182182312\n"," float_data: -0.04899950698018074\n"," float_data: -0.09173513203859329\n"," float_data: -0.05643380805850029\n"," float_data: -0.1242508590221405\n"," float_data: -0.26255157589912415\n"," float_data: -0.1404028981924057\n"," float_data: 0.03324513137340546\n"," float_data: -0.06115133687853813\n"," float_data: 0.009860995225608349\n"," float_data: 0.2364950031042099\n"," float_data: -0.1986180543899536\n"," float_data: 0.06706178933382034\n"," float_data: 0.032096657902002335\n"," float_data: 0.3241947889328003\n"," float_data: 0.1504427045583725\n"," float_data: -0.017628170549869537\n"," float_data: 0.19966517388820648\n"," float_data: -0.17567095160484314\n"," float_data: 0.1566508412361145\n"," float_data: -0.11615198105573654\n"," float_data: -0.1709584891796112\n"," float_data: 0.0034051937982439995\n"," float_data: -0.11347205191850662\n"," float_data: 0.03153498098254204\n"," float_data: -0.13322797417640686\n"," float_data: -0.20983107388019562\n"," float_data: 0.008155489340424538\n"," float_data: -0.018315648660063744\n"," float_data: -0.03628380969166756\n"," float_data: -0.14723460376262665\n"," float_data: -0.22431613504886627\n"," float_data: 0.12160255759954453\n"," float_data: 0.09395760297775269\n"," float_data: 0.03802406042814255\n"," float_data: -0.07208721339702606\n"," float_data: -0.30288660526275635\n"," float_data: 0.09381438046693802\n"," float_data: 0.129303976893425\n"," float_data: -0.11919524520635605\n"," float_data: -0.20404502749443054\n"," float_data: -0.10019979625940323\n"," float_data: 0.08316077291965485\n"," float_data: -0.29207178950309753\n"," float_data: -0.32461950182914734\n"," float_data: -0.1375880241394043\n"," float_data: 0.07741624861955643\n"," float_data: 0.05675008147954941\n"," float_data: 0.048212870955467224\n"," float_data: -0.16695570945739746\n"," float_data: -0.16831110417842865\n"," float_data: -0.2571466267108917\n"," float_data: 0.022004347294569016\n"," float_data: 0.09018582105636597\n"," float_data: 0.09696881473064423\n"," float_data: 0.09034634381532669\n"," float_data: -0.1292535364627838\n"," float_data: 0.004232535604387522\n"," float_data: -0.0361546166241169\n"," float_data: 0.016906339675188065\n"," float_data: -0.17100994288921356\n"," float_data: -0.12802155315876007\n"," float_data: 0.002461853204295039\n"," float_data: -0.12794269621372223\n"," float_data: -0.26542770862579346\n"," float_data: -0.2275809943675995\n"," float_data: -0.050402626395225525\n"," float_data: 0.048668306320905685\n"," float_data: -0.04898228496313095\n"," float_data: 0.13361530005931854\n"," float_data: 0.08174533396959305\n"," float_data: -0.07200723141431808\n"," float_data: 0.09268345683813095\n"," float_data: 0.05294530466198921\n"," float_data: 0.1024443507194519\n"," float_data: 0.010859944857656956\n"," float_data: -0.117163747549057\n"," float_data: 0.012810362502932549\n"," float_data: 0.13470156490802765\n"," float_data: 0.11545589566230774\n"," float_data: -0.18238921463489532\n"," float_data: -0.07483283430337906\n"," float_data: 0.14451947808265686\n"," float_data: 0.04795333370566368\n"," float_data: -0.08783704787492752\n"," float_data: -0.16123518347740173\n"," float_data: -0.035415589809417725\n"," float_data: 0.006858181674033403\n"," float_data: -0.2047734558582306\n"," float_data: -0.0845630019903183\n"," float_data: -0.023606058210134506\n"," float_data: -0.0935060977935791\n"," float_data: -0.06924706697463989\n"," float_data: -0.13980109989643097\n"," float_data: -0.10452355444431305\n"," float_data: 0.116352379322052\n"," float_data: 0.08454099297523499\n"," float_data: 0.01485222764313221\n"," float_data: -0.132890522480011\n"," float_data: -0.041142191737890244\n"," float_data: 0.13448728621006012\n"," float_data: 0.026495829224586487\n"," float_data: 0.010445990599691868\n"," float_data: 0.12186530977487564\n"," float_data: 0.12172020971775055\n"," float_data: -0.06771471351385117\n"," float_data: 0.04841993749141693\n"," float_data: 0.11444833874702454\n"," float_data: 0.0736367329955101\n"," float_data: 0.04923733323812485\n"," float_data: -0.08311907947063446\n"," float_data: -0.11450047045946121\n"," float_data: -0.012753566727042198\n"," float_data: -0.12205453217029572\n"," float_data: -0.08805416524410248\n"," float_data: 0.16590599715709686\n"," float_data: -0.12613283097743988\n"," float_data: 0.15344344079494476\n"," float_data: -0.10184058547019958\n"," float_data: -0.2849140465259552\n"," float_data: -0.1972079873085022\n"," float_data: 0.145134836435318\n"," float_data: -0.11697839200496674\n"," float_data: -0.15852832794189453\n"," float_data: -0.23581789433956146\n"," float_data: -0.1428460329771042\n"," float_data: 0.08243904262781143\n"," float_data: 0.0062004635110497475\n"," float_data: 0.030994925647974014\n"," float_data: -0.2091696560382843\n"," float_data: -0.19504885375499725\n"," float_data: -0.03647194057703018\n"," float_data: -0.15777380764484406\n"," float_data: -0.19751423597335815\n"," float_data: -0.32161587476730347\n"," float_data: -0.23731712996959686\n"," float_data: 0.030523812398314476\n"," float_data: -0.3122556209564209\n"," float_data: -0.3323538899421692\n"," float_data: -0.3562094271183014\n"," float_data: 0.07318214327096939\n"," float_data: 0.20391343533992767\n"," float_data: -0.16811995208263397\n"," float_data: -0.2475641369819641\n"," float_data: -0.21656933426856995\n"," float_data: 0.2908965051174164\n"," float_data: 0.39868035912513733\n"," float_data: -0.12157081067562103\n"," float_data: 0.04372075945138931\n"," float_data: 0.32752954959869385\n"," float_data: 0.36171799898147583\n"," float_data: -0.2521674633026123\n"," float_data: 0.10686428099870682\n"," float_data: -0.02736382558941841\n"," float_data: -0.19672268629074097\n"," float_data: -0.2012820541858673\n"," float_data: -0.2544558644294739\n"," float_data: 0.09724858403205872\n"," float_data: 0.23113957047462463\n"," float_data: 0.07206568121910095\n"," float_data: 0.12388995289802551\n"," float_data: 0.11896011233329773\n"," float_data: 0.15748290717601776\n"," float_data: 0.030156834051012993\n"," float_data: -0.0882047787308693\n"," float_data: 0.1707567274570465\n"," float_data: 0.1586868166923523\n"," float_data: -0.12648992240428925\n"," float_data: -0.20787328481674194\n"," float_data: -0.050144344568252563\n"," float_data: 0.10365675389766693\n"," float_data: -0.14081212878227234\n"," float_data: 0.14581237733364105\n"," float_data: -0.07897355407476425\n"," float_data: -0.09284720569849014\n"," float_data: -0.030984580516815186\n"," float_data: -0.08686868846416473\n"," float_data: 0.21250396966934204\n"," float_data: 0.06007371470332146\n"," float_data: 0.07954876869916916\n"," float_data: -0.048412397503852844\n"," float_data: -0.028884807601571083\n"," float_data: -0.03859134018421173\n"," float_data: -0.02472190000116825\n"," float_data: -0.11523935943841934\n"," float_data: 0.03985869139432907\n"," float_data: -0.031945936381816864\n"," float_data: -0.2382495105266571\n"," float_data: -0.034580882638692856\n"," float_data: -0.09721174836158752\n"," float_data: 0.06683377921581268\n"," float_data: -0.016985073685646057\n"," float_data: 0.10067277401685715\n"," float_data: -0.1049547865986824\n"," float_data: -0.13881389796733856\n"," float_data: -0.14210717380046844\n"," float_data: -0.2768247425556183\n"," float_data: 0.3137509822845459\n"," float_data: -0.04183318465948105\n"," float_data: -0.21355649828910828\n"," float_data: -0.0411934033036232\n"," float_data: -0.12977243959903717\n"," float_data: -0.06019407883286476\n"," float_data: 0.04811530187726021\n"," float_data: 0.08899696916341782\n"," float_data: 0.1068376824259758\n"," float_data: 0.232931986451149\n"," float_data: -0.16326867043972015\n"," float_data: -0.23055557906627655\n"," float_data: -0.15439842641353607\n"," float_data: -0.07647205144166946\n"," float_data: -0.004677221644669771\n"," float_data: 0.055177390575408936\n"," float_data: -0.07482249289751053\n"," float_data: -0.025068696588277817\n"," float_data: 0.16921831667423248\n"," float_data: 0.08354384452104568\n"," float_data: 0.17827296257019043\n"," float_data: 0.05370161682367325\n"," float_data: 0.030275115743279457\n"," float_data: 0.14360961318016052\n"," float_data: 0.09926435351371765\n"," float_data: 0.2643301784992218\n"," float_data: 0.033600907772779465\n"," float_data: 0.008439828641712666\n"," float_data: 0.27800285816192627\n"," float_data: 0.21687322854995728\n"," float_data: -0.0752246230840683\n"," float_data: 0.13471324741840363\n"," float_data: 0.07948550581932068\n"," float_data: 0.21037662029266357\n"," float_data: 0.2200196087360382\n"," float_data: -0.09812972694635391\n"," float_data: -0.06310079991817474\n"," float_data: -0.009932506829500198\n"," float_data: -0.1807117611169815\n"," float_data: -0.1958836317062378\n"," float_data: -0.18373388051986694\n"," float_data: -0.10958927124738693\n"," float_data: 0.01903403177857399\n"," float_data: 0.14254017174243927\n"," float_data: 0.1662747710943222\n"," float_data: -0.03602447733283043\n"," float_data: -0.10233362019062042\n"," float_data: -0.059397969394922256\n"," float_data: -0.044369928538799286\n"," float_data: 0.005768158473074436\n"," float_data: -0.031363047659397125\n"," float_data: -0.13877004384994507\n"," float_data: -0.20925423502922058\n"," float_data: -0.27202555537223816\n"," float_data: -0.181751549243927\n"," float_data: -0.09620437771081924\n"," float_data: 0.04155270382761955\n"," float_data: 0.0002717328316066414\n"," float_data: -0.09034977108240128\n"," float_data: -0.0892462208867073\n"," float_data: 0.08479072153568268\n"," float_data: -0.02221817523241043\n"," float_data: -0.09679907560348511\n"," float_data: 0.007331250701099634\n"," float_data: 0.04291274771094322\n"," float_data: -0.14118272066116333\n"," float_data: -0.17924050986766815\n"," float_data: -0.1893685907125473\n"," float_data: -0.07861194759607315\n"," float_data: 0.12131419032812119\n"," float_data: 0.02166990377008915\n"," float_data: -0.07661392539739609\n"," float_data: -0.2798451781272888\n"," float_data: -0.09635965526103973\n"," float_data: 0.24392525851726532\n"," float_data: 0.1828036606311798\n"," float_data: -0.01877511478960514\n"," float_data: -0.2502667009830475\n"," float_data: -0.014575309120118618\n"," float_data: 0.11755242943763733\n"," float_data: -0.294646292924881\n"," float_data: -0.017945528030395508\n"," float_data: -0.047251924872398376\n"," float_data: -0.16415968537330627\n"," float_data: -0.06664136052131653\n"," float_data: 0.07301001995801926\n"," float_data: -0.04651498422026634\n"," float_data: -0.10898774862289429\n"," float_data: 0.003970691002905369\n"," float_data: 0.08528124541044235\n"," float_data: 0.04211319610476494\n"," float_data: 0.18762603402137756\n"," float_data: -0.19994805753231049\n"," float_data: -0.14850379526615143\n"," float_data: -0.02457486093044281\n"," float_data: -0.2107260823249817\n"," float_data: 0.08899848163127899\n"," float_data: 0.05454479157924652\n"," float_data: -0.11118531972169876\n"," float_data: 0.17667894065380096\n"," float_data: -0.07545655965805054\n"," float_data: 0.048310551792383194\n"," float_data: -0.21471673250198364\n"," float_data: -0.09871657192707062\n"," float_data: 0.18537060916423798\n"," float_data: -0.18458177149295807\n"," float_data: -0.08262211829423904\n"," float_data: -0.026693256571888924\n"," float_data: -0.10781820863485336\n"," float_data: -0.10106638073921204\n"," float_data: 0.053038205951452255\n"," float_data: -0.15798625349998474\n"," float_data: -0.06392887234687805\n"," float_data: 0.09861180186271667\n"," float_data: 0.029901163652539253\n"," float_data: 0.001519288052804768\n"," float_data: 0.26066046953201294\n"," float_data: 0.05618865415453911\n"," float_data: -0.23252789676189423\n"," float_data: 0.0048353346064686775\n"," float_data: -0.17480142414569855\n"," float_data: 0.19722984731197357\n"," float_data: 0.06807364523410797\n"," float_data: 0.0010178566444665194\n"," float_data: 0.06233600899577141\n"," float_data: -0.12367811053991318\n"," float_data: -0.14416956901550293\n"," float_data: -0.14910942316055298\n"," float_data: -0.18400131165981293\n"," float_data: 0.1462024450302124\n"," float_data: -0.18691189587116241\n"," float_data: -0.1743750274181366\n"," float_data: 0.004131439607590437\n"," float_data: -0.13937342166900635\n"," float_data: -0.0542483776807785\n"," float_data: 0.02287149429321289\n"," float_data: -0.05463290959596634\n"," float_data: 0.011019124649465084\n"," float_data: -0.12462515383958817\n"," float_data: -0.04046550393104553\n"," float_data: 0.2129766196012497\n"," float_data: 0.09828410297632217\n"," float_data: 0.0839545726776123\n"," float_data: -0.06253013759851456\n"," float_data: -0.10529949516057968\n"," float_data: 0.0007133163162507117\n"," float_data: 0.290810227394104\n"," float_data: 0.09346265345811844\n"," float_data: -0.046142395585775375\n"," float_data: 0.021029504016041756\n"," float_data: 0.07995675504207611\n"," float_data: 0.3741243779659271\n"," float_data: 0.052287135273218155\n"," float_data: -0.1683509647846222\n"," float_data: 0.0817892849445343\n"," float_data: 0.11373836547136307\n"," float_data: 0.15297241508960724\n"," float_data: 0.23521210253238678\n"," float_data: 0.18708638846874237\n"," float_data: 0.13726967573165894\n"," float_data: -0.11583950370550156\n"," float_data: -0.12688139081001282\n"," float_data: -0.21673327684402466\n"," float_data: -0.1633685678243637\n"," float_data: -0.22900572419166565\n"," float_data: -0.19121961295604706\n"," float_data: -0.097773477435112\n"," float_data: -0.04152447730302811\n"," float_data: -0.05148942396044731\n"," float_data: -0.02906440757215023\n"," float_data: -0.09864502400159836\n"," float_data: -0.09059233963489532\n"," float_data: -0.1979944407939911\n"," float_data: -0.06620555371046066\n"," float_data: -0.11525478214025497\n"," float_data: 0.08191221952438354\n"," float_data: 0.037804488092660904\n"," float_data: -0.2439771592617035\n"," float_data: -0.15621019899845123\n"," float_data: -0.03560324013233185\n"," float_data: -0.26549574732780457\n"," float_data: -0.026013031601905823\n"," float_data: 0.03324810788035393\n"," float_data: -0.14629940688610077\n"," float_data: 0.038986269384622574\n"," float_data: -0.3180956244468689\n"," float_data: 0.141331747174263\n"," float_data: 0.21758069097995758\n"," float_data: -0.02337529882788658\n"," float_data: -0.19773052632808685\n"," float_data: -0.12990990281105042\n"," float_data: 0.1723267138004303\n"," float_data: 0.1737419217824936\n"," float_data: -0.026691852137446404\n"," float_data: -0.059743013232946396\n"," float_data: 0.1508241891860962\n"," float_data: 0.17710275948047638\n"," float_data: -0.05646875500679016\n"," float_data: -0.19448880851268768\n"," float_data: -0.1125706136226654\n"," float_data: 0.102003313601017\n"," float_data: 0.06413102149963379\n"," float_data: 0.022393103688955307\n"," float_data: -0.0486660897731781\n"," float_data: -0.06719961762428284\n"," float_data: -0.1603998988866806\n"," float_data: 0.2988450527191162\n"," float_data: 0.09396980702877045\n"," float_data: -0.05188735947012901\n"," float_data: -0.20511776208877563\n"," float_data: -0.0674038901925087\n"," float_data: 0.37601208686828613\n"," float_data: 0.0710567906498909\n"," float_data: -0.08999726176261902\n"," float_data: -0.08873164653778076\n"," float_data: 0.10997025668621063\n"," float_data: 0.3110874593257904\n"," float_data: -0.039821118116378784\n"," float_data: -0.17280615866184235\n"," float_data: -0.08821404725313187\n"," float_data: 0.08216695487499237\n"," float_data: 0.17704299092292786\n"," float_data: -0.01785420812666416\n"," float_data: -0.26170045137405396\n"," float_data: -0.040617506951093674\n"," float_data: 0.13885964453220367\n"," float_data: -0.0629393607378006\n"," float_data: -0.23392893373966217\n"," float_data: -0.16718319058418274\n"," float_data: -0.06548523902893066\n"," float_data: -0.08285006880760193\n"," float_data: 0.012885474599897861\n"," float_data: 0.030689295381307602\n"," float_data: -0.17983876168727875\n"," float_data: 0.015564031898975372\n"," float_data: 0.050101060420274734\n"," float_data: -0.10828489810228348\n"," float_data: -0.18234165012836456\n"," float_data: -0.04937426373362541\n"," float_data: 0.11945352703332901\n"," float_data: -0.2450055330991745\n"," float_data: -0.17728891968727112\n"," float_data: -0.25745889544487\n"," float_data: -0.1269768625497818\n"," float_data: 0.10940859466791153\n"," float_data: -0.19667373597621918\n"," float_data: -0.18263570964336395\n"," float_data: -0.12250763177871704\n"," float_data: -0.1221049427986145\n"," float_data: -0.19130270183086395\n"," float_data: -0.3059132993221283\n"," float_data: -0.09151965379714966\n"," float_data: -0.05769868940114975\n"," float_data: 0.008145126514136791\n"," float_data: -0.1192246600985527\n"," float_data: -0.32970860600471497\n"," float_data: 0.047232598066329956\n"," float_data: 0.06317702680826187\n"," float_data: 0.051146265119314194\n"," float_data: -0.13449865579605103\n"," float_data: -0.08313160389661789\n"," float_data: 0.1207214742898941\n"," float_data: 0.10196544229984283\n"," float_data: -0.23894789814949036\n"," float_data: -0.0980876088142395\n"," float_data: -0.031556058675050735\n"," float_data: 0.30378907918930054\n"," float_data: 0.0798535943031311\n"," float_data: -0.23975811898708344\n"," float_data: -0.17803440988063812\n"," float_data: -0.017718646675348282\n"," float_data: 0.2528759241104126\n"," float_data: 0.0009659613133408129\n"," float_data: -0.27992352843284607\n"," float_data: -0.08374585211277008\n"," float_data: 0.29411810636520386\n"," float_data: 0.014804522506892681\n"," float_data: -0.1062842309474945\n"," float_data: -0.23746807873249054\n"," float_data: -0.016262857243418694\n"," float_data: -0.3478291928768158\n"," float_data: -0.4175308346748352\n"," float_data: -0.03429028019309044\n"," float_data: -0.030044136568903923\n"," float_data: -0.1615401655435562\n"," float_data: -0.2813355624675751\n"," float_data: -0.1474749892950058\n"," float_data: 0.06117721647024155\n"," float_data: 0.0072184475138783455\n"," float_data: -0.21263828873634338\n"," float_data: -0.05274982005357742\n"," float_data: 0.03300371766090393\n"," float_data: 0.05101073160767555\n"," float_data: -0.08903712034225464\n"," float_data: -0.07652730494737625\n"," float_data: -0.1430962234735489\n"," float_data: 0.044749319553375244\n"," float_data: 0.03963678330183029\n"," float_data: -0.12862099707126617\n"," float_data: -0.019345849752426147\n"," float_data: -0.08805625140666962\n"," float_data: 0.032519835978746414\n"," float_data: -0.1121276468038559\n"," float_data: 0.013764279894530773\n"," float_data: -0.18477843701839447\n"," float_data: -0.22862376272678375\n"," float_data: -0.3146893382072449\n"," float_data: -0.31722402572631836\n"," float_data: -0.09822338819503784\n"," float_data: 0.012015719898045063\n"," float_data: -0.08609748631715775\n"," float_data: -0.2498539388179779\n"," float_data: -0.02578314207494259\n"," float_data: -0.15795856714248657\n"," float_data: 0.010197232477366924\n"," float_data: 0.015698887407779694\n"," float_data: 0.043517667800188065\n"," float_data: -0.014383804984390736\n"," float_data: 0.02584853582084179\n"," float_data: 0.14021894335746765\n"," float_data: -0.17387813329696655\n"," float_data: -0.008749159052968025\n"," float_data: -0.11152090132236481\n"," float_data: 0.1136445626616478\n"," float_data: -0.06834572553634644\n"," float_data: -0.25240716338157654\n"," float_data: -0.06570333242416382\n"," float_data: -0.11186471581459045\n"," float_data: -0.10149776935577393\n"," float_data: -0.14316894114017487\n"," float_data: -0.12045606970787048\n"," float_data: -0.22813014686107635\n"," float_data: -0.24143242835998535\n"," float_data: -0.08770299702882767\n"," float_data: -0.13444285094738007\n"," float_data: 0.005942130461335182\n"," float_data: -0.307727187871933\n"," float_data: -0.01332571730017662\n"," float_data: 0.03267451003193855\n"," float_data: -0.02363727241754532\n"," float_data: 0.09723944962024689\n"," float_data: -0.20495210587978363\n"," float_data: 0.042783498764038086\n"," float_data: 0.1427505761384964\n"," float_data: 0.09182456880807877\n"," float_data: -0.18678048253059387\n"," float_data: 0.1467844545841217\n"," float_data: 0.16653329133987427\n"," float_data: 0.13158179819583893\n"," float_data: 0.009870793670415878\n"," float_data: -0.16178305447101593\n"," float_data: 0.3640344440937042\n"," float_data: 0.20362819731235504\n"," float_data: 0.09525342285633087\n"," float_data: -0.003482609521597624\n"," float_data: -0.14667150378227234\n"," float_data: 0.007529497612267733\n"," float_data: 0.06498174369335175\n"," float_data: 0.05966806784272194\n"," float_data: 0.06855358183383942\n"," float_data: -0.30848249793052673\n"," float_data: -0.24865518510341644\n"," float_data: 0.014578567817807198\n"," float_data: 0.13278897106647491\n"," float_data: 0.19720420241355896\n"," float_data: -0.4323715567588806\n"," float_data: 0.06938602775335312\n"," float_data: -0.06515297293663025\n"," float_data: -0.14105871319770813\n"," float_data: -0.09422450512647629\n"," float_data: -0.10208545625209808\n"," float_data: -0.005929190199822187\n"," float_data: -0.0017513337079435587\n"," float_data: -0.2089109718799591\n"," float_data: -0.09509705752134323\n"," float_data: -0.2085665911436081\n"," float_data: 0.05150070786476135\n"," float_data: -0.14073416590690613\n"," float_data: 0.01365603692829609\n"," float_data: -0.11389368772506714\n"," name: \"Parameter87\"\n"," }\n"," initializer {\n"," dims: 8\n"," dims: 1\n"," dims: 5\n"," dims: 5\n"," data_type: 1\n"," float_data: -0.008905669674277306\n"," float_data: -0.23690743744373322\n"," float_data: -0.5088216662406921\n"," float_data: -0.06456177681684494\n"," float_data: 0.14181184768676758\n"," float_data: -0.5919761657714844\n"," float_data: -0.4752853810787201\n"," float_data: -0.049348145723342896\n"," float_data: 0.7682155966758728\n"," float_data: 0.26346519589424133\n"," float_data: -0.4917634427547455\n"," float_data: 0.05561765283346176\n"," float_data: 1.0189645290374756\n"," float_data: 0.5547041893005371\n"," float_data: -0.4416643977165222\n"," float_data: -0.15953698754310608\n"," float_data: 0.5575414896011353\n"," float_data: 0.5920912623405457\n"," float_data: -0.2947413921356201\n"," float_data: -0.6131798028945923\n"," float_data: 0.03849884867668152\n"," float_data: 0.22601930797100067\n"," float_data: -0.21855629980564117\n"," float_data: -0.47719430923461914\n"," float_data: -0.2917049527168274\n"," float_data: -0.039882346987724304\n"," float_data: 0.2185998111963272\n"," float_data: 0.49872705340385437\n"," float_data: 0.42367178201675415\n"," float_data: 0.048547789454460144\n"," float_data: -0.10118173062801361\n"," float_data: -0.2769094705581665\n"," float_data: -0.004399026278406382\n"," float_data: 0.5271722078323364\n"," float_data: 0.40340957045555115\n"," float_data: -0.15083789825439453\n"," float_data: -0.32669755816459656\n"," float_data: -0.15898573398590088\n"," float_data: 0.35899585485458374\n"," float_data: 0.3726355731487274\n"," float_data: -0.5676766633987427\n"," float_data: -0.38571643829345703\n"," float_data: -0.1736956238746643\n"," float_data: 0.22803734242916107\n"," float_data: 0.33274900913238525\n"," float_data: -0.38078179955482483\n"," float_data: -0.2294795960187912\n"," float_data: -0.06623970717191696\n"," float_data: -0.01456076093018055\n"," float_data: 0.2849120795726776\n"," float_data: -0.023685239255428314\n"," float_data: 0.10450534522533417\n"," float_data: 0.253627210855484\n"," float_data: 0.3617715537548065\n"," float_data: 0.6909624934196472\n"," float_data: 0.33491653203964233\n"," float_data: 0.4169996976852417\n"," float_data: 0.38482844829559326\n"," float_data: 0.3294100761413574\n"," float_data: 0.24301494657993317\n"," float_data: -0.469070702791214\n"," float_data: -0.07595888525247574\n"," float_data: -0.1445249766111374\n"," float_data: -0.17356260120868683\n"," float_data: -0.24677062034606934\n"," float_data: -0.9726812243461609\n"," float_data: -0.7156173586845398\n"," float_data: -0.5382127165794373\n"," float_data: -0.6167798638343811\n"," float_data: -0.44845151901245117\n"," float_data: -0.19898280501365662\n"," float_data: -0.3333558738231659\n"," float_data: -0.3490765392780304\n"," float_data: -0.14603577554225922\n"," float_data: -0.06359775364398956\n"," float_data: -0.29535022377967834\n"," float_data: -0.33241569995880127\n"," float_data: -0.32799458503723145\n"," float_data: -0.0792078748345375\n"," float_data: -0.22243107855319977\n"," float_data: -0.4767628610134125\n"," float_data: -0.21071620285511017\n"," float_data: -0.05752904713153839\n"," float_data: 0.16373887658119202\n"," float_data: 0.16197435557842255\n"," float_data: -0.39172589778900146\n"," float_data: -0.02351396717131138\n"," float_data: 0.12326627224683762\n"," float_data: 0.042400017380714417\n"," float_data: 0.22804906964302063\n"," float_data: 0.09454049170017242\n"," float_data: 0.3720371127128601\n"," float_data: 0.2193872630596161\n"," float_data: -0.011200291104614735\n"," float_data: 0.18117614090442657\n"," float_data: 0.3275194764137268\n"," float_data: 0.3511163592338562\n"," float_data: 0.029065223410725594\n"," float_data: 0.20922230184078217\n"," float_data: 0.3407168984413147\n"," float_data: -0.21453875303268433\n"," float_data: -0.12204788625240326\n"," float_data: -0.002380508929491043\n"," float_data: -0.22573916614055634\n"," float_data: -0.16116438806056976\n"," float_data: 0.08904799818992615\n"," float_data: 0.2049759179353714\n"," float_data: -0.15634816884994507\n"," float_data: -0.22565391659736633\n"," float_data: -0.5620983242988586\n"," float_data: -0.06023457646369934\n"," float_data: 0.4104316830635071\n"," float_data: -0.014487497508525848\n"," float_data: -0.47492480278015137\n"," float_data: -0.5640554428100586\n"," float_data: -0.11556227505207062\n"," float_data: 0.1420968621969223\n"," float_data: 0.27673882246017456\n"," float_data: 0.04259895905852318\n"," float_data: -0.01154940016567707\n"," float_data: 0.009696257300674915\n"," float_data: 0.24611404538154602\n"," float_data: 0.625613272190094\n"," float_data: 0.683263897895813\n"," float_data: 0.23607052862644196\n"," float_data: -0.16604582965373993\n"," float_data: -0.3338145315647125\n"," float_data: -0.19119441509246826\n"," float_data: 0.05349813774228096\n"," float_data: 0.14157480001449585\n"," float_data: 0.18287110328674316\n"," float_data: -0.5480813980102539\n"," float_data: -0.7332809567451477\n"," float_data: -0.58826744556427\n"," float_data: -0.3842240273952484\n"," float_data: 0.540283739566803\n"," float_data: 0.3461269736289978\n"," float_data: -0.25229349732398987\n"," float_data: -0.3465349078178406\n"," float_data: -0.21091517806053162\n"," float_data: 0.22015060484409332\n"," float_data: 0.6589154601097107\n"," float_data: 0.3647841811180115\n"," float_data: 0.12937375903129578\n"," float_data: -0.10955952107906342\n"," float_data: 0.060226935893297195\n"," float_data: 0.3028530776500702\n"," float_data: 0.23698604106903076\n"," float_data: 0.46915197372436523\n"," float_data: 0.22329305112361908\n"," float_data: 0.09797149151563644\n"," float_data: 0.5594847202301025\n"," float_data: -0.21443209052085876\n"," float_data: -0.4576771557331085\n"," float_data: -0.2118259072303772\n"," float_data: 0.36440980434417725\n"," float_data: 0.48706260323524475\n"," float_data: -0.4076792597770691\n"," float_data: -0.4292023479938507\n"," float_data: -0.2475433498620987\n"," float_data: 0.4149287939071655\n"," float_data: 0.30001330375671387\n"," float_data: -0.45789340138435364\n"," float_data: -0.30391550064086914\n"," float_data: -0.08953923732042313\n"," float_data: 0.2780548334121704\n"," float_data: 0.11443112045526505\n"," float_data: -0.17231403291225433\n"," float_data: -0.3516780436038971\n"," float_data: -0.15202881395816803\n"," float_data: 0.34867072105407715\n"," float_data: 0.185796856880188\n"," float_data: 0.0708867609500885\n"," float_data: 0.13417653739452362\n"," float_data: -0.04618285596370697\n"," float_data: -0.02208573743700981\n"," float_data: -0.13200485706329346\n"," float_data: 0.0916861891746521\n"," float_data: 0.23160681128501892\n"," float_data: 0.33974218368530273\n"," float_data: 0.16504956781864166\n"," float_data: 0.3764834702014923\n"," float_data: 0.19502994418144226\n"," float_data: 0.3151701092720032\n"," float_data: 0.5671406984329224\n"," float_data: -0.11800449341535568\n"," float_data: 0.19598188996315002\n"," float_data: 0.1325552612543106\n"," float_data: 0.047790516167879105\n"," float_data: 0.13364340364933014\n"," float_data: 0.028376566246151924\n"," float_data: -0.13915082812309265\n"," float_data: -0.12077710032463074\n"," float_data: -0.19753223657608032\n"," float_data: -0.5022867918014526\n"," float_data: -0.035823289304971695\n"," float_data: -0.1898280829191208\n"," float_data: -0.4275367856025696\n"," float_data: -0.2847483158111572\n"," float_data: -0.19034995138645172\n"," name: \"Parameter5\"\n"," }\n"," initializer {\n"," dims: 8\n"," dims: 1\n"," dims: 1\n"," data_type: 1\n"," float_data: -0.1615397185087204\n"," float_data: -0.4338356554508209\n"," float_data: 0.09164135903120041\n"," float_data: -0.01685221679508686\n"," float_data: -0.06502643972635269\n"," float_data: -0.1317378729581833\n"," float_data: 0.020417550578713417\n"," float_data: -0.1211102306842804\n"," name: \"Parameter6\"\n"," }\n"," initializer {\n"," dims: 16\n"," dims: 1\n"," dims: 1\n"," data_type: 1\n"," float_data: -0.08224882185459137\n"," float_data: -0.10886877775192261\n"," float_data: -0.14103959500789642\n"," float_data: -0.20486916601657867\n"," float_data: -0.17913565039634705\n"," float_data: -0.2154383808374405\n"," float_data: -0.1338050663471222\n"," float_data: -0.19572456181049347\n"," float_data: -0.26825064420700073\n"," float_data: -0.25821220874786377\n"," float_data: -0.07615606486797333\n"," float_data: 0.01328414585441351\n"," float_data: -0.004444644320756197\n"," float_data: -0.41474083065986633\n"," float_data: -0.17879115045070648\n"," float_data: -0.03865588828921318\n"," name: \"Parameter88\"\n"," }\n"," initializer {\n"," dims: 2\n"," data_type: 7\n"," int64_data: 1\n"," int64_data: 256\n"," name: \"Pooling160_Output_0_reshape0_shape\"\n"," }\n"," initializer {\n"," dims: 2\n"," data_type: 7\n"," int64_data: 256\n"," int64_data: 10\n"," name: \"Parameter193_reshape1_shape\"\n"," }\n"," initializer {\n"," dims: 1\n"," dims: 10\n"," data_type: 1\n"," float_data: -0.04485602676868439\n"," float_data: 0.007791661191731691\n"," float_data: 0.06810081750154495\n"," float_data: 0.02999374084174633\n"," float_data: -0.1264096349477768\n"," float_data: 0.14021874964237213\n"," float_data: -0.055284902453422546\n"," float_data: -0.04938381537795067\n"," float_data: 0.08432205021381378\n"," float_data: -0.05454041436314583\n"," name: \"Parameter194\"\n"," }\n"," input {\n"," name: \"Input3\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 28\n"," }\n"," dim {\n"," dim_value: 28\n"," }\n"," }\n"," }\n"," }\n"," }\n"," input {\n"," name: \"Parameter5\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 8\n"," }\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 5\n"," }\n"," dim {\n"," dim_value: 5\n"," }\n"," }\n"," }\n"," }\n"," }\n"," input {\n"," name: \"Parameter6\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 8\n"," }\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 1\n"," }\n"," }\n"," }\n"," }\n"," }\n"," input {\n"," name: \"Parameter87\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 16\n"," }\n"," dim {\n"," dim_value: 8\n"," }\n"," dim {\n"," dim_value: 5\n"," }\n"," dim {\n"," dim_value: 5\n"," }\n"," }\n"," }\n"," }\n"," }\n"," input {\n"," name: \"Parameter88\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 16\n"," }\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 1\n"," }\n"," }\n"," }\n"," }\n"," }\n"," input {\n"," name: \"Pooling160_Output_0_reshape0_shape\"\n"," type {\n"," tensor_type {\n"," elem_type: 7\n"," shape {\n"," dim {\n"," dim_value: 2\n"," }\n"," }\n"," }\n"," }\n"," }\n"," input {\n"," name: \"Parameter193\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 16\n"," }\n"," dim {\n"," dim_value: 4\n"," }\n"," dim {\n"," dim_value: 4\n"," }\n"," dim {\n"," dim_value: 10\n"," }\n"," }\n"," }\n"," }\n"," }\n"," input {\n"," name: \"Parameter193_reshape1_shape\"\n"," type {\n"," tensor_type {\n"," elem_type: 7\n"," shape {\n"," dim {\n"," dim_value: 2\n"," }\n"," }\n"," }\n"," }\n"," }\n"," input {\n"," name: \"Parameter194\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 10\n"," }\n"," }\n"," }\n"," }\n"," }\n"," output {\n"," name: \"Plus214_Output_0\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 10\n"," }\n"," }\n"," }\n"," }\n"," }\n"," value_info {\n"," name: \"Parameter193_reshape1\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 256\n"," }\n"," dim {\n"," dim_value: 10\n"," }\n"," }\n"," }\n"," }\n"," }\n"," value_info {\n"," name: \"Convolution28_Output_0\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 8\n"," }\n"," dim {\n"," dim_value: 28\n"," }\n"," dim {\n"," dim_value: 28\n"," }\n"," }\n"," }\n"," }\n"," }\n"," value_info {\n"," name: \"Plus30_Output_0\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 8\n"," }\n"," dim {\n"," dim_value: 28\n"," }\n"," dim {\n"," dim_value: 28\n"," }\n"," }\n"," }\n"," }\n"," }\n"," value_info {\n"," name: \"ReLU32_Output_0\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 8\n"," }\n"," dim {\n"," dim_value: 28\n"," }\n"," dim {\n"," dim_value: 28\n"," }\n"," }\n"," }\n"," }\n"," }\n"," value_info {\n"," name: \"Pooling66_Output_0\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 8\n"," }\n"," dim {\n"," dim_value: 14\n"," }\n"," dim {\n"," dim_value: 14\n"," }\n"," }\n"," }\n"," }\n"," }\n"," value_info {\n"," name: \"Convolution110_Output_0\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 16\n"," }\n"," dim {\n"," dim_value: 14\n"," }\n"," dim {\n"," dim_value: 14\n"," }\n"," }\n"," }\n"," }\n"," }\n"," value_info {\n"," name: \"Plus112_Output_0\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 16\n"," }\n"," dim {\n"," dim_value: 14\n"," }\n"," dim {\n"," dim_value: 14\n"," }\n"," }\n"," }\n"," }\n"," }\n"," value_info {\n"," name: \"ReLU114_Output_0\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 16\n"," }\n"," dim {\n"," dim_value: 14\n"," }\n"," dim {\n"," dim_value: 14\n"," }\n"," }\n"," }\n"," }\n"," }\n"," value_info {\n"," name: \"Pooling160_Output_0\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 16\n"," }\n"," dim {\n"," dim_value: 4\n"," }\n"," dim {\n"," dim_value: 4\n"," }\n"," }\n"," }\n"," }\n"," }\n"," value_info {\n"," name: \"Pooling160_Output_0_reshape0\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 256\n"," }\n"," }\n"," }\n"," }\n"," }\n"," value_info {\n"," name: \"Times212_Output_0\"\n"," type {\n"," tensor_type {\n"," elem_type: 1\n"," shape {\n"," dim {\n"," dim_value: 1\n"," }\n"," dim {\n"," dim_value: 10\n"," }\n"," }\n"," }\n"," }\n"," }\n","}\n","opset_import {\n"," domain: \"\"\n"," version: 8\n","}"]},"metadata":{"tags":[]},"execution_count":34}]},{"cell_type":"code","metadata":{"colab_type":"code","id":"1cdUL9-QU34l","colab":{"base_uri":"https://localhost:8080/","height":332},"outputId":"9a089702-6500-412d-e4ce-3ef33497f8af","executionInfo":{"status":"ok","timestamp":1586936314393,"user_tz":300,"elapsed":545,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}}},"source":["#onnx_mnist = onnx.load('mnist.onnx')\n","func, params = relay.frontend.from_onnx(onnx_mnist, shape={ 'Input3': (1, 1, 28, 28) })\n","print(func)"],"execution_count":67,"outputs":[{"output_type":"stream","text":["v0.0.1\n","def @main(%Input3: Tensor[(1, 1, 28, 28), float32], %Parameter5: Tensor[(8, 1, 5, 5), float32], %Parameter6: Tensor[(8, 1, 1), float32], %Parameter87: Tensor[(16, 8, 5, 5), float32], %Parameter88: Tensor[(16, 1, 1), float32], %Parameter193: Tensor[(16, 4, 4, 10), float32], %Parameter194: Tensor[(1, 10), float32]) -> Tensor[(1, 10), float32] {\n"," %0 = nn.conv2d(%Input3, %Parameter5, kernel_size=[5, 5]) /* ty=Tensor[(1, 8, 24, 24), float32] */\n"," %1 = add(%0, %Parameter6) /* ty=Tensor[(1, 8, 24, 24), float32] */\n"," %2 = nn.relu(%1) /* ty=Tensor[(1, 8, 24, 24), float32] */\n"," %3 = nn.max_pool2d(%2, pool_size=[2, 2], strides=[2, 2]) /* ty=Tensor[(1, 8, 12, 12), float32] */\n"," %4 = nn.conv2d(%3, %Parameter87, kernel_size=[5, 5]) /* ty=Tensor[(1, 16, 8, 8), float32] */\n"," %5 = add(%4, %Parameter88) /* ty=Tensor[(1, 16, 8, 8), float32] */\n"," %6 = nn.relu(%5) /* ty=Tensor[(1, 16, 8, 8), float32] */\n"," %7 = nn.max_pool2d(%6, pool_size=[3, 3], strides=[3, 3]) /* ty=Tensor[(1, 16, 2, 2), float32] */\n"," %8 = reshape(%7, newshape=[1, 256]) /* ty=Tensor[(1, 256), float32] */\n"," %9 = reshape(%Parameter193, newshape=[256, 10]) /* ty=Tensor[(256, 10), float32] */\n"," %10 = transpose(%9, axes=[1, 0]) /* ty=Tensor[(10, 256), float32] */\n"," %11 = nn.dense(%8, %10, units=None) /* ty=Tensor[(1, 10), float32] */\n"," add(%11, %Parameter194) /* ty=Tensor[(1, 10), float32] */\n","}\n","\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"G2REnHFxpzyX","colab_type":"code","colab":{}},"source":["# print(params)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"0wtekMldqC6o","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"colab_type":"code","id":"_j-DUyUJU34y","outputId":"9c41f74f-2b80-4038-c35b-c4569f381dfd","executionInfo":{"status":"ok","timestamp":1586936316492,"user_tz":300,"elapsed":765,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"colab":{"base_uri":"https://localhost:8080/","height":332}},"source":["i = 0 \n","def ann(*args):\n"," global i\n"," i += 1\n"," return f\" \"\n","\n","print(func.astext(show_meta_data=True, annotate=ann))"],"execution_count":69,"outputs":[{"output_type":"stream","text":["v0.0.1\n","def @main(%Input3: Tensor[(1, 1, 28, 28), float32], %Parameter5: Tensor[(8, 1, 5, 5), float32], %Parameter6: Tensor[(8, 1, 1), float32], %Parameter87: Tensor[(16, 8, 5, 5), float32], %Parameter88: Tensor[(16, 1, 1), float32], %Parameter193: Tensor[(16, 4, 4, 10), float32], %Parameter194: Tensor[(1, 10), float32]) -> Tensor[(1, 10), float32] {\n"," %0 = nn.conv2d (%Input3, %Parameter5, kernel_size=[5, 5]) \n"," %1 = add (%0, %Parameter6) \n"," %2 = nn.relu (%1) \n"," %3 = nn.max_pool2d (%2, pool_size=[2, 2], strides=[2, 2]) \n"," %4 = nn.conv2d (%3, %Parameter87, kernel_size=[5, 5]) \n"," %5 = add (%4, %Parameter88) \n"," %6 = nn.relu (%5) \n"," %7 = nn.max_pool2d (%6, pool_size=[3, 3], strides=[3, 3]) \n"," %8 = reshape (%7, newshape=[1, 256]) \n"," %9 = reshape (%Parameter193, newshape=[256, 10]) \n"," %10 = transpose (%9, axes=[1, 0]) \n"," %11 = nn.dense (%8, %10, units=None) \n"," add (%11, %Parameter194) \n","}\n","\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"xo2PwOXwqC9h","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"colab_type":"code","id":"JM5en7erU35G","colab":{}},"source":["seq = relay.transform.Sequential([\n"," relay.transform.InferType(),\n"," relay.transform.SimplifyInference(),\n"," relay.transform.FoldConstant(),\n"," relay.transform.EliminateCommonSubexpr(),\n"," relay.transform.AlterOpLayout()\n","])"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"hweIDGTNqDAX","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"colab_type":"code","outputId":"908d81e8-5ea9-42b9-89b6-a12d2bd106c9","executionInfo":{"status":"ok","timestamp":1586936346971,"user_tz":300,"elapsed":490,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"id":"3qzFyULExvLX","colab":{"base_uri":"https://localhost:8080/","height":332}},"source":["#onnx_mnist = onnx.load('mnist.onnx')\n","func, params = relay.frontend.from_onnx(onnx_mnist, shape={ 'Input3': (1, 1, 28, 28) })\n","print(func)"],"execution_count":73,"outputs":[{"output_type":"stream","text":["v0.0.1\n","def @main(%Input3: Tensor[(1, 1, 28, 28), float32], %Parameter5: Tensor[(8, 1, 5, 5), float32], %Parameter6: Tensor[(8, 1, 1), float32], %Parameter87: Tensor[(16, 8, 5, 5), float32], %Parameter88: Tensor[(16, 1, 1), float32], %Parameter193: Tensor[(16, 4, 4, 10), float32], %Parameter194: Tensor[(1, 10), float32]) -> Tensor[(1, 10), float32] {\n"," %0 = nn.conv2d(%Input3, %Parameter5, kernel_size=[5, 5]) /* ty=Tensor[(1, 8, 24, 24), float32] */\n"," %1 = add(%0, %Parameter6) /* ty=Tensor[(1, 8, 24, 24), float32] */\n"," %2 = nn.relu(%1) /* ty=Tensor[(1, 8, 24, 24), float32] */\n"," %3 = nn.max_pool2d(%2, pool_size=[2, 2], strides=[2, 2]) /* ty=Tensor[(1, 8, 12, 12), float32] */\n"," %4 = nn.conv2d(%3, %Parameter87, kernel_size=[5, 5]) /* ty=Tensor[(1, 16, 8, 8), float32] */\n"," %5 = add(%4, %Parameter88) /* ty=Tensor[(1, 16, 8, 8), float32] */\n"," %6 = nn.relu(%5) /* ty=Tensor[(1, 16, 8, 8), float32] */\n"," %7 = nn.max_pool2d(%6, pool_size=[3, 3], strides=[3, 3]) /* ty=Tensor[(1, 16, 2, 2), float32] */\n"," %8 = reshape(%7, newshape=[1, 256]) /* ty=Tensor[(1, 256), float32] */\n"," %9 = reshape(%Parameter193, newshape=[256, 10]) /* ty=Tensor[(256, 10), float32] */\n"," %10 = transpose(%9, axes=[1, 0]) /* ty=Tensor[(10, 256), float32] */\n"," %11 = nn.dense(%8, %10, units=None) /* ty=Tensor[(1, 10), float32] */\n"," add(%11, %Parameter194) /* ty=Tensor[(1, 10), float32] */\n","}\n","\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"colab_type":"code","id":"r96221MeU35I","outputId":"61aa023c-3022-427f-c4ed-8553387b5ab8","executionInfo":{"status":"ok","timestamp":1586936349486,"user_tz":300,"elapsed":486,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"colab":{"base_uri":"https://localhost:8080/","height":436}},"source":["mod = func # relay.Module({\"main\": func})\n","with relay.build_config(opt_level=3):\n"," with tvm.target.create(\"llvm\"):\n"," mod = seq(mod)\n"," print(mod[\"main\"])"],"execution_count":74,"outputs":[{"output_type":"stream","text":["v0.0.1\n","fn (%Input3: Tensor[(1, 1, 28, 28), float32], %Parameter5: Tensor[(8, 1, 5, 5), float32], %Parameter6: Tensor[(8, 1, 1), float32], %Parameter87: Tensor[(16, 8, 5, 5), float32], %Parameter88: Tensor[(16, 1, 1), float32], %Parameter193: Tensor[(16, 4, 4, 10), float32], %Parameter194: Tensor[(1, 10), float32]) -> Tensor[(1, 10), float32] {\n"," %0 = layout_transform(%Input3, src_layout=\"NCHW\", dst_layout=\"NCHW1c\") /* ty=Tensor[(1, 1, 28, 28, 1), float32] */\n"," %1 = layout_transform(%Parameter5, src_layout=\"OIHW\", dst_layout=\"OIHW1i8o\") /* ty=Tensor[(1, 1, 5, 5, 1, 8), float32] */\n"," %2 = nn.contrib_conv2d_NCHWc(%0, %1, meta[relay.attrs.Conv2DAttrs][0]) /* ty=Tensor[(1, 1, 24, 24, 8), float32] */\n"," %3 = layout_transform(%Parameter6, src_layout=\"CHW\", dst_layout=\"CHW8c\") /* ty=Tensor[(1, 1, 1, 8), float32] */\n"," %4 = add(%2, %3) /* ty=Tensor[(1, 1, 24, 24, 8), float32] */\n"," %5 = nn.relu(%4) /* ty=Tensor[(1, 1, 24, 24, 8), float32] */\n"," %6 = nn.max_pool2d(%5, pool_size=[2, 2], strides=[2, 2], layout=\"NCHW8c\") /* ty=Tensor[(1, 1, 12, 12, 8), float32] */\n"," %7 = layout_transform(%Parameter87, src_layout=\"OIHW\", dst_layout=\"OIHW8i8o\") /* ty=Tensor[(2, 1, 5, 5, 8, 8), float32] */\n"," %8 = nn.contrib_conv2d_NCHWc(%6, %7, meta[relay.attrs.Conv2DAttrs][1]) /* ty=Tensor[(1, 2, 8, 8, 8), float32] */\n"," %9 = layout_transform(%Parameter88, src_layout=\"CHW\", dst_layout=\"CHW8c\") /* ty=Tensor[(2, 1, 1, 8), float32] */\n"," %10 = add(%8, %9) /* ty=Tensor[(1, 2, 8, 8, 8), float32] */\n"," %11 = nn.relu(%10) /* ty=Tensor[(1, 2, 8, 8, 8), float32] */\n"," %12 = nn.max_pool2d(%11, pool_size=[3, 3], strides=[3, 3], layout=\"NCHW8c\") /* ty=Tensor[(1, 2, 2, 2, 8), float32] */\n"," %13 = layout_transform(%12, src_layout=\"NCHW8c\", dst_layout=\"NCHW\") /* ty=Tensor[(1, 16, 2, 2), float32] */\n"," %14 = reshape(%13, newshape=[1, 256]) /* ty=Tensor[(1, 256), float32] */\n"," %15 = reshape(%Parameter193, newshape=[256, 10]) /* ty=Tensor[(256, 10), float32] */\n"," %16 = transpose(%15, axes=[1, 0]) /* ty=Tensor[(10, 256), float32] */\n"," %17 = nn.dense(%14, %16, units=None) /* ty=Tensor[(1, 10), float32] */\n"," add(%17, %Parameter194) /* ty=Tensor[(1, 10), float32] */\n","}\n","// meta data omitted. you can use show_meta_data=True to include meta data\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"kzgGQyLYxsjV","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"colab_type":"code","outputId":"fbe0d084-137f-4b25-9cde-790f4d328c6a","executionInfo":{"status":"ok","timestamp":1586938346099,"user_tz":300,"elapsed":712,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"id":"SNn7zhAGx0jJ","colab":{"base_uri":"https://localhost:8080/","height":315}},"source":["#onnx_mnist = onnx.load('mnist.onnx')\n","#func, params = relay.testing.mlp.get_workload(1) #relay.frontend.from_onnx(onnx_mnist, shape={ 'Input3': (1, 1, 28, 28) })\n","func, params = relay.frontend.from_onnx(onnx_mnist, shape={ 'Input3': (1, 1, 28, 28) })\n","print(func['main'])"],"execution_count":115,"outputs":[{"output_type":"stream","text":["v0.0.1\n","fn (%Input3: Tensor[(1, 1, 28, 28), float32], %Parameter5: Tensor[(8, 1, 5, 5), float32], %Parameter6: Tensor[(8, 1, 1), float32], %Parameter87: Tensor[(16, 8, 5, 5), float32], %Parameter88: Tensor[(16, 1, 1), float32], %Parameter193: Tensor[(16, 4, 4, 10), float32], %Parameter194: Tensor[(1, 10), float32]) -> Tensor[(1, 10), float32] {\n"," %0 = nn.conv2d(%Input3, %Parameter5, kernel_size=[5, 5]) /* ty=Tensor[(1, 8, 24, 24), float32] */\n"," %1 = add(%0, %Parameter6) /* ty=Tensor[(1, 8, 24, 24), float32] */\n"," %2 = nn.relu(%1) /* ty=Tensor[(1, 8, 24, 24), float32] */\n"," %3 = nn.max_pool2d(%2, pool_size=[2, 2], strides=[2, 2]) /* ty=Tensor[(1, 8, 12, 12), float32] */\n"," %4 = nn.conv2d(%3, %Parameter87, kernel_size=[5, 5]) /* ty=Tensor[(1, 16, 8, 8), float32] */\n"," %5 = add(%4, %Parameter88) /* ty=Tensor[(1, 16, 8, 8), float32] */\n"," %6 = nn.relu(%5) /* ty=Tensor[(1, 16, 8, 8), float32] */\n"," %7 = nn.max_pool2d(%6, pool_size=[3, 3], strides=[3, 3]) /* ty=Tensor[(1, 16, 2, 2), float32] */\n"," %8 = reshape(%7, newshape=[1, 256]) /* ty=Tensor[(1, 256), float32] */\n"," %9 = reshape(%Parameter193, newshape=[256, 10]) /* ty=Tensor[(256, 10), float32] */\n"," %10 = transpose(%9, axes=[1, 0]) /* ty=Tensor[(10, 256), float32] */\n"," %11 = nn.dense(%8, %10, units=None) /* ty=Tensor[(1, 10), float32] */\n"," add(%11, %Parameter194) /* ty=Tensor[(1, 10), float32] */\n","}\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"wZwbyAlDqDDP","colab_type":"code","colab":{}},"source":["opt_level = 3\n","target = \"llvm\"\n","with relay.build_config(opt_level):\n"," graph, lib, params = relay.build_module.build(func['main'], target, params=params)\n"," #intrp = relay.build_module.create_executor('graph', func, tvm.cpu(0), target)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"gLohpeeH5FR8","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":54},"outputId":"024905ff-c569-4df8-f56c-8da62eddebab","executionInfo":{"status":"ok","timestamp":1586938895888,"user_tz":300,"elapsed":477,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}}},"source":["func"],"execution_count":126,"outputs":[{"output_type":"execute_result","data":{"text/plain":["ModuleNode( {GlobalVar(main): FunctionNode([Var(Input3, ty=TensorType([1, 1, 28, 28], float32)), Var(Parameter5, ty=TensorType([8, 1, 5, 5], float32)), Var(Parameter6, ty=TensorType([8, 1, 1], float32)), Var(Parameter87, ty=TensorType([16, 8, 5, 5], float32)), Var(Parameter88, ty=TensorType([16, 1, 1], float32)), Var(Parameter193, ty=TensorType([16, 4, 4, 10], float32)), Var(Parameter194, ty=TensorType([1, 10], float32))], TensorType([1, 10], float32), CallNode(Op(add), [CallNode(Op(nn.dense), [CallNode(Op(reshape), [CallNode(Op(nn.max_pool2d), [CallNode(Op(nn.relu), [CallNode(Op(add), [CallNode(Op(nn.conv2d), [CallNode(Op(nn.max_pool2d), [CallNode(Op(nn.relu), [CallNode(Op(add), [CallNode(Op(nn.conv2d), [Var(Input3, ty=TensorType([1, 1, 28, 28], float32)), Var(Parameter5, ty=TensorType([8, 1, 5, 5], float32))], relay.attrs.Conv2DAttrs(0x4a31740), [TensorType([1, 1, 28, 28], float32), TensorType([8, 1, 5, 5], float32)]), Var(Parameter6, ty=TensorType([8, 1, 1], float32))], (nullptr), [TensorType([1, 8, 24, 24], float32), TensorType([8, 1, 1], float32)])], (nullptr), [TensorType([1, 8, 24, 24], float32)])], relay.attrs.MaxPool2DAttrs(0x4a40160), [TensorType([1, 8, 24, 24], float32)]), Var(Parameter87, ty=TensorType([16, 8, 5, 5], float32))], relay.attrs.Conv2DAttrs(0x4a31680), [TensorType([1, 8, 12, 12], float32), TensorType([16, 8, 5, 5], float32)]), Var(Parameter88, ty=TensorType([16, 1, 1], float32))], (nullptr), [TensorType([1, 16, 8, 8], float32), TensorType([16, 1, 1], float32)])], (nullptr), [TensorType([1, 16, 8, 8], float32)])], relay.attrs.MaxPool2DAttrs(0x4a415a0), [TensorType([1, 16, 8, 8], float32)])], relay.attrs.ReshapeAttrs(0x4d46780), [TensorType([1, 16, 2, 2], float32)]), CallNode(Op(transpose), [CallNode(Op(reshape), [Var(Parameter193, ty=TensorType([16, 4, 4, 10], float32))], relay.attrs.ReshapeAttrs(0x4d52b40), [TensorType([16, 4, 4, 10], float32)])], relay.attrs.TransposeAttrs(0x4abbf60), [TensorType([256, 10], float32)])], relay.attrs.DenseAttrs(0x4aa1320), [TensorType([1, 256], float32), TensorType([10, 256], float32)]), Var(Parameter194, ty=TensorType([1, 10], float32))], (nullptr), [TensorType([1, 10], float32), TensorType([1, 10], float32)]), [], (nullptr))})"]},"metadata":{"tags":[]},"execution_count":126}]},{"cell_type":"code","metadata":{"id":"t33Xs1T94_n7","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":54},"outputId":"be1f4ada-20c4-4a74-ed8e-9cf0afd26292","executionInfo":{"status":"ok","timestamp":1586938896892,"user_tz":300,"elapsed":646,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}}},"source":["graph"],"execution_count":127,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'{\\n \"nodes\": [\\n {\\n \"op\": \"null\", \\n \"name\": \"Input3\", \\n \"inputs\": []\\n }, \\n {\\n \"op\": \"null\", \\n \"name\": \"Parameter5\", \\n \"inputs\": []\\n }, \\n {\\n \"op\": \"null\", \\n \"name\": \"Parameter6\", \\n \"inputs\": []\\n }, \\n {\\n \"op\": \"null\", \\n \"name\": \"Parameter87\", \\n \"inputs\": []\\n }, \\n {\\n \"op\": \"null\", \\n \"name\": \"Parameter88\", \\n \"inputs\": []\\n }, \\n {\\n \"op\": \"null\", \\n \"name\": \"Parameter193\", \\n \"inputs\": []\\n }, \\n {\\n \"op\": \"null\", \\n \"name\": \"Parameter194\", \\n \"inputs\": []\\n }, \\n {\\n \"op\": \"tvm_op\", \\n \"name\": \"fused_layout_transform_4\", \\n \"attrs\": {\\n \"num_outputs\": \"1\", \\n \"num_inputs\": \"1\", \\n \"func_name\": \"fused_layout_transform_4\", \\n \"flatten_data\": \"0\"\\n }, \\n \"inputs\": [\\n [\\n 0, \\n 0, \\n 0\\n ]\\n ]\\n }, \\n {\\n \"op\": \"tvm_op\", \\n \"name\": \"fused_layout_transform\", \\n \"attrs\": {\\n \"num_outputs\": \"1\", \\n \"num_inputs\": \"1\", \\n \"func_name\": \"fused_layout_transform\", \\n \"flatten_data\": \"0\"\\n }, \\n \"inputs\": [\\n [\\n 1, \\n 0, \\n 0\\n ]\\n ]\\n }, \\n {\\n \"op\": \"tvm_op\", \\n \"name\": \"fused_layout_transform_1\", \\n \"attrs\": {\\n \"num_outputs\": \"1\", \\n \"num_inputs\": \"1\", \\n \"func_name\": \"fused_layout_transform_1\", \\n \"flatten_data\": \"0\"\\n }, \\n \"inputs\": [\\n [\\n 2, \\n 0, \\n 0\\n ]\\n ]\\n }, \\n {\\n \"op\": \"tvm_op\", \\n \"name\": \"fused_nn_contrib_conv2d_NCHWc_add_nn_relu_1\", \\n \"attrs\": {\\n \"num_outputs\": \"1\", \\n \"num_inputs\": \"3\", \\n \"func_name\": \"fused_nn_contrib_conv2d_NCHWc_add_nn_relu_1\", \\n \"flatten_data\": \"0\"\\n }, \\n \"inputs\": [\\n [\\n 7, \\n 0, \\n 0\\n ], \\n [\\n 8, \\n 0, \\n 0\\n ], \\n [\\n 9, \\n 0, \\n 0\\n ]\\n ]\\n }, \\n {\\n \"op\": \"tvm_op\", \\n \"name\": \"fused_nn_max_pool2d_1\", \\n \"attrs\": {\\n \"num_outputs\": \"1\", \\n \"num_inputs\": \"1\", \\n \"func_name\": \"fused_nn_max_pool2d_1\", \\n \"flatten_data\": \"0\"\\n }, \\n \"inputs\": [\\n [\\n 10, \\n 0, \\n 0\\n ]\\n ]\\n }, \\n {\\n \"op\": \"tvm_op\", \\n \"name\": \"fused_layout_transform_2\", \\n \"attrs\": {\\n \"num_outputs\": \"1\", \\n \"num_inputs\": \"1\", \\n \"func_name\": \"fused_layout_transform_2\", \\n \"flatten_data\": \"0\"\\n }, \\n \"inputs\": [\\n [\\n 3, \\n 0, \\n 0\\n ]\\n ]\\n }, \\n {\\n \"op\": \"tvm_op\", \\n \"name\": \"fused_layout_transform_3\", \\n \"attrs\": {\\n \"num_outputs\": \"1\", \\n \"num_inputs\": \"1\", \\n \"func_name\": \"fused_layout_transform_3\", \\n \"flatten_data\": \"0\"\\n }, \\n \"inputs\": [\\n [\\n 4, \\n 0, \\n 0\\n ]\\n ]\\n }, \\n {\\n \"op\": \"tvm_op\", \\n \"name\": \"fused_nn_contrib_conv2d_NCHWc_add_nn_relu\", \\n \"attrs\": {\\n \"num_outputs\": \"1\", \\n \"num_inputs\": \"3\", \\n \"func_name\": \"fused_nn_contrib_conv2d_NCHWc_add_nn_relu\", \\n \"flatten_data\": \"0\"\\n }, \\n \"inputs\": [\\n [\\n 11, \\n 0, \\n 0\\n ], \\n [\\n 12, \\n 0, \\n 0\\n ], \\n [\\n 13, \\n 0, \\n 0\\n ]\\n ]\\n }, \\n {\\n \"op\": \"tvm_op\", \\n \"name\": \"fused_nn_max_pool2d\", \\n \"attrs\": {\\n \"num_outputs\": \"1\", \\n \"num_inputs\": \"1\", \\n \"func_name\": \"fused_nn_max_pool2d\", \\n \"flatten_data\": \"0\"\\n }, \\n \"inputs\": [\\n [\\n 14, \\n 0, \\n 0\\n ]\\n ]\\n }, \\n {\\n \"op\": \"tvm_op\", \\n \"name\": \"fused_reshape_1\", \\n \"attrs\": {\\n \"num_outputs\": \"1\", \\n \"num_inputs\": \"1\", \\n \"func_name\": \"fused_reshape_1\", \\n \"flatten_data\": \"0\"\\n }, \\n \"inputs\": [\\n [\\n 15, \\n 0, \\n 0\\n ]\\n ]\\n }, \\n {\\n \"op\": \"tvm_op\", \\n \"name\": \"fused_reshape_transpose\", \\n \"attrs\": {\\n \"num_outputs\": \"1\", \\n \"num_inputs\": \"1\", \\n \"func_name\": \"fused_reshape_transpose\", \\n \"flatten_data\": \"0\"\\n }, \\n \"inputs\": [\\n [\\n 5, \\n 0, \\n 0\\n ]\\n ]\\n }, \\n {\\n \"op\": \"tvm_op\", \\n \"name\": \"fused_nn_dense_add_1\", \\n \"attrs\": {\\n \"num_outputs\": \"1\", \\n \"num_inputs\": \"3\", \\n \"func_name\": \"fused_nn_dense_add_1\", \\n \"flatten_data\": \"0\"\\n }, \\n \"inputs\": [\\n [\\n 16, \\n 0, \\n 0\\n ], \\n [\\n 17, \\n 0, \\n 0\\n ], \\n [\\n 6, \\n 0, \\n 0\\n ]\\n ]\\n }\\n ], \\n \"arg_nodes\": [0, 1, 2, 3, 4, 5, 6], \\n \"heads\": [\\n [\\n 18, \\n 0, \\n 0\\n ]\\n ], \\n \"attrs\": {\\n \"dltype\": [\\n \"list_str\", \\n [\\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\", \\n \"float32\"\\n ]\\n ], \\n \"shape\": [\\n \"list_shape\", \\n [\\n [1, 1, 28, 28], \\n [8, 1, 5, 5], \\n [8, 1, 1], \\n [16, 8, 5, 5], \\n [16, 1, 1], \\n [16, 4, 4, 10], \\n [1, 10], \\n [1, 1, 28, 28, 1], \\n [1, 1, 5, 5, 1, 8], \\n [1, 1, 1, 8], \\n [1, 1, 24, 24, 8], \\n [1, 1, 12, 12, 8], \\n [2, 1, 5, 5, 8, 8], \\n [2, 1, 1, 8], \\n [1, 2, 8, 8, 8], \\n [1, 2, 2, 2, 8], \\n [1, 256], \\n [10, 256], \\n [1, 10]\\n ]\\n ], \\n \"storage_id\": [\\n \"list_int\", \\n [\\n 0, \\n 1, \\n 2, \\n 3, \\n 4, \\n 5, \\n 6, \\n 7, \\n 8, \\n 9, \\n 10, \\n 7, \\n 10, \\n 8, \\n 11, \\n 8, \\n 11, \\n 10, \\n 9\\n ]\\n ]\\n }, \\n \"node_row_ptr\": [\\n 0, \\n 1, \\n 2, \\n 3, \\n 4, \\n 5, \\n 6, \\n 7, \\n 8, \\n 9, \\n 10, \\n 11, \\n 12, \\n 13, \\n 14, \\n 15, \\n 16, \\n 17, \\n 18, \\n 19\\n ]\\n}'"]},"metadata":{"tags":[]},"execution_count":127}]},{"cell_type":"code","metadata":{"id":"KMrLP3gi4x9O","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":54},"outputId":"62015009-6241-48f9-ea65-fc56de59eeba","executionInfo":{"status":"ok","timestamp":1586938898162,"user_tz":300,"elapsed":1137,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}}},"source":["lib.get_source()"],"execution_count":128,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'; ModuleID = \\'fused_reshape_transpose\\'\\nsource_filename = \"fused_reshape_transpose\"\\ntarget datalayout = \"e-m:e-i64:64-f80:128-n8:16:32:64-S128\"\\ntarget triple = \"x86_64-pc-linux-gnu\"\\n\\n%0 = type { i32*, i32 }\\n%1 = type { i8*, %2, i32, %3, i64*, i64*, i64 }\\n%2 = type { i32, i32 }\\n%3 = type { i8, i8, i16 }\\n%4 = type { i8*, i8* }\\n%5 = type { i8*, i8* }\\n%6 = type { i8*, i8* }\\n%7 = type { i8*, i8*, i8*, i8* }\\n%8 = type { i8*, i8*, float* }\\n%9 = type { i8*, i8* }\\n%10 = type { i8*, i8* }\\n%11 = type { i8*, i8*, i8*, i8* }\\n%12 = type { i8*, i8* }\\n%13 = type { i8*, i8* }\\n\\n@__TVMAPISetLastError = linkonce dllexport local_unnamed_addr global void (i8*)* null, align 8\\n@__TVMBackendParallelLaunch = linkonce dllexport local_unnamed_addr global i32 (i32 (i32, %0*, i8*)*, i8*, i32)* null, align 8\\n@.str = private constant [76 x i8] c\"Assert fail: (num_args == 2), fused_reshape_transpose: num_args should be 2\\\\00\", align 1\\n@.str.1 = private constant [196 x i8] c\"Assert fail: ((((1 == int32(arg0.strides[3])) && (10 == int32(arg0.strides[2]))) && (40 == int32(arg0.strides[1]))) && (160 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\\\\00\", align 1\\n@.str.2 = private constant [124 x i8] c\"Assert fail: ((1 == int32(arg1.strides[1])) && (256 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\\\\00\", align 1\\n@.str.3 = private constant [151 x i8] c\"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_reshape_transpose: Expect arg[0] to be pointer\\\\00\", align 1\\n@.str.4 = private constant [151 x i8] c\"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_reshape_transpose: Expect arg[1] to be pointer\\\\00\", align 1\\n@.str.5 = private constant [55 x i8] c\"Assert fail: (dev_type == 1), device_type need to be 1\\\\00\", align 1\\n@.str.6 = private constant [81 x i8] c\"Assert fail: (4 == tvm_struct_get(arg0, 0, 4)), arg0.ndim is expected to equal 4\\\\00\", align 1\\n@.str.7 = private constant [186 x i8] c\"Assert fail: (((tvm_struct_get(arg0, 0, 5) == (uint8)2) && (tvm_struct_get(arg0, 0, 6) == (uint8)32)) && (tvm_struct_get(arg0, 0, 7) == (uint16)1)), arg0.dtype is expected to be float32\\\\00\", align 1\\n@.str.8 = private constant [96 x i8] c\"Assert fail: (int32(arg0.shape[0]) == 16), Argument arg0.shape[0] has an unsatisfied constraint\\\\00\", align 1\\n@.str.9 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[1]) == 4), Argument arg0.shape[1] has an unsatisfied constraint\\\\00\", align 1\\n@.str.10 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[2]) == 4), Argument arg0.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.11 = private constant [96 x i8] c\"Assert fail: (int32(arg0.shape[3]) == 10), Argument arg0.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.12 = private constant [112 x i8] c\"Assert fail: (tvm_struct_get(arg0, 0, 8) == (uint64)0), Argument arg0.byte_offset has an unsatisfied constraint\\\\00\", align 1\\n@.str.13 = private constant [81 x i8] c\"Assert fail: (2 == tvm_struct_get(arg1, 0, 4)), arg1.ndim is expected to equal 2\\\\00\", align 1\\n@.str.14 = private constant [186 x i8] c\"Assert fail: (((tvm_struct_get(arg1, 0, 5) == (uint8)2) && (tvm_struct_get(arg1, 0, 6) == (uint8)32)) && (tvm_struct_get(arg1, 0, 7) == (uint16)1)), arg1.dtype is expected to be float32\\\\00\", align 1\\n@.str.15 = private constant [96 x i8] c\"Assert fail: (int32(arg1.shape[0]) == 10), Argument arg1.shape[0] has an unsatisfied constraint\\\\00\", align 1\\n@.str.16 = private constant [97 x i8] c\"Assert fail: (int32(arg1.shape[1]) == 256), Argument arg1.shape[1] has an unsatisfied constraint\\\\00\", align 1\\n@.str.17 = private constant [112 x i8] c\"Assert fail: (tvm_struct_get(arg1, 0, 8) == (uint64)0), Argument arg1.byte_offset has an unsatisfied constraint\\\\00\", align 1\\n@.str.18 = private constant [105 x i8] c\"Assert fail: (1 == tvm_struct_get(arg1, 0, 10)), Argument arg1.device_type has an unsatisfied constraint\\\\00\", align 1\\n@.str.19 = private constant [107 x i8] c\"Assert fail: (dev_id == tvm_struct_get(arg1, 0, 9)), Argument arg1.device_id has an unsatisfied constraint\\\\00\", align 1\\n@.str.20 = private constant [77 x i8] c\"Assert fail: (num_args == 2), fused_layout_transform_2: num_args should be 2\\\\00\", align 1\\n@.str.21 = private constant [195 x i8] c\"Assert fail: ((((1 == int32(arg0.strides[3])) && (5 == int32(arg0.strides[2]))) && (25 == int32(arg0.strides[1]))) && (200 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\\\\00\", align 1\\n@.str.22 = private constant [271 x i8] c\"Assert fail: ((((((1 == int32(arg1.strides[5])) && (8 == int32(arg1.strides[4]))) && (64 == int32(arg1.strides[3]))) && (320 == int32(arg1.strides[2]))) && (1600 == int32(arg1.strides[1]))) && (1600 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\\\\00\", align 1\\n@.str.23 = private constant [152 x i8] c\"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_layout_transform_2: Expect arg[0] to be pointer\\\\00\", align 1\\n@.str.24 = private constant [152 x i8] c\"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_layout_transform_2: Expect arg[1] to be pointer\\\\00\", align 1\\n@.str.25 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[1]) == 8), Argument arg0.shape[1] has an unsatisfied constraint\\\\00\", align 1\\n@.str.26 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[2]) == 5), Argument arg0.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.27 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[3]) == 5), Argument arg0.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.28 = private constant [81 x i8] c\"Assert fail: (6 == tvm_struct_get(arg1, 0, 4)), arg1.ndim is expected to equal 6\\\\00\", align 1\\n@.str.29 = private constant [95 x i8] c\"Assert fail: (int32(arg1.shape[0]) == 2), Argument arg1.shape[0] has an unsatisfied constraint\\\\00\", align 1\\n@.str.30 = private constant [95 x i8] c\"Assert fail: (int32(arg1.shape[1]) == 1), Argument arg1.shape[1] has an unsatisfied constraint\\\\00\", align 1\\n@.str.31 = private constant [95 x i8] c\"Assert fail: (int32(arg1.shape[2]) == 5), Argument arg1.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.32 = private constant [95 x i8] c\"Assert fail: (int32(arg1.shape[3]) == 5), Argument arg1.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.33 = private constant [95 x i8] c\"Assert fail: (int32(arg1.shape[4]) == 8), Argument arg1.shape[4] has an unsatisfied constraint\\\\00\", align 1\\n@.str.34 = private constant [95 x i8] c\"Assert fail: (int32(arg1.shape[5]) == 8), Argument arg1.shape[5] has an unsatisfied constraint\\\\00\", align 1\\n@.str.36 = private constant [77 x i8] c\"Assert fail: (num_args == 2), fused_layout_transform_1: num_args should be 2\\\\00\", align 1\\n@.str.37 = private constant [157 x i8] c\"Assert fail: (((1 == int32(arg0.strides[2])) && (1 == int32(arg0.strides[1]))) && (1 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\\\\00\", align 1\\n@.str.38 = private constant [192 x i8] c\"Assert fail: ((((1 == int32(arg1.strides[3])) && (8 == int32(arg1.strides[2]))) && (8 == int32(arg1.strides[1]))) && (8 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\\\\00\", align 1\\n@.str.39 = private constant [152 x i8] c\"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_layout_transform_1: Expect arg[0] to be pointer\\\\00\", align 1\\n@.str.40 = private constant [152 x i8] c\"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_layout_transform_1: Expect arg[1] to be pointer\\\\00\", align 1\\n@.str.41 = private constant [81 x i8] c\"Assert fail: (3 == tvm_struct_get(arg0, 0, 4)), arg0.ndim is expected to equal 3\\\\00\", align 1\\n@.str.42 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[0]) == 8), Argument arg0.shape[0] has an unsatisfied constraint\\\\00\", align 1\\n@.str.43 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[1]) == 1), Argument arg0.shape[1] has an unsatisfied constraint\\\\00\", align 1\\n@.str.44 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[2]) == 1), Argument arg0.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.45 = private constant [81 x i8] c\"Assert fail: (4 == tvm_struct_get(arg1, 0, 4)), arg1.ndim is expected to equal 4\\\\00\", align 1\\n@.str.46 = private constant [95 x i8] c\"Assert fail: (int32(arg1.shape[0]) == 1), Argument arg1.shape[0] has an unsatisfied constraint\\\\00\", align 1\\n@.str.47 = private constant [95 x i8] c\"Assert fail: (int32(arg1.shape[2]) == 1), Argument arg1.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.48 = private constant [95 x i8] c\"Assert fail: (int32(arg1.shape[3]) == 8), Argument arg1.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.49 = private constant [77 x i8] c\"Assert fail: (num_args == 2), fused_layout_transform_4: num_args should be 2\\\\00\", align 1\\n@.str.50 = private constant [197 x i8] c\"Assert fail: ((((1 == int32(arg0.strides[3])) && (28 == int32(arg0.strides[2]))) && (784 == int32(arg0.strides[1]))) && (784 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\\\\00\", align 1\\n@.str.51 = private constant [232 x i8] c\"Assert fail: (((((1 == int32(arg1.strides[4])) && (1 == int32(arg1.strides[3]))) && (28 == int32(arg1.strides[2]))) && (784 == int32(arg1.strides[1]))) && (784 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\\\\00\", align 1\\n@.str.52 = private constant [152 x i8] c\"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_layout_transform_4: Expect arg[0] to be pointer\\\\00\", align 1\\n@.str.53 = private constant [152 x i8] c\"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_layout_transform_4: Expect arg[1] to be pointer\\\\00\", align 1\\n@.str.54 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[0]) == 1), Argument arg0.shape[0] has an unsatisfied constraint\\\\00\", align 1\\n@.str.55 = private constant [96 x i8] c\"Assert fail: (int32(arg0.shape[2]) == 28), Argument arg0.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.56 = private constant [96 x i8] c\"Assert fail: (int32(arg0.shape[3]) == 28), Argument arg0.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.57 = private constant [81 x i8] c\"Assert fail: (5 == tvm_struct_get(arg1, 0, 4)), arg1.ndim is expected to equal 5\\\\00\", align 1\\n@.str.58 = private constant [96 x i8] c\"Assert fail: (int32(arg1.shape[2]) == 28), Argument arg1.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.59 = private constant [96 x i8] c\"Assert fail: (int32(arg1.shape[3]) == 28), Argument arg1.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.60 = private constant [95 x i8] c\"Assert fail: (int32(arg1.shape[4]) == 1), Argument arg1.shape[4] has an unsatisfied constraint\\\\00\", align 1\\n@.str.62 = private constant [68 x i8] c\"Assert fail: (num_args == 2), fused_reshape_1: num_args should be 2\\\\00\", align 1\\n@.str.63 = private constant [230 x i8] c\"Assert fail: (((((1 == int32(arg0.strides[4])) && (8 == int32(arg0.strides[3]))) && (16 == int32(arg0.strides[2]))) && (32 == int32(arg0.strides[1]))) && (64 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\\\\00\", align 1\\n@.str.64 = private constant [143 x i8] c\"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_reshape_1: Expect arg[0] to be pointer\\\\00\", align 1\\n@.str.65 = private constant [143 x i8] c\"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_reshape_1: Expect arg[1] to be pointer\\\\00\", align 1\\n@.str.66 = private constant [81 x i8] c\"Assert fail: (5 == tvm_struct_get(arg0, 0, 4)), arg0.ndim is expected to equal 5\\\\00\", align 1\\n@.str.67 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[1]) == 2), Argument arg0.shape[1] has an unsatisfied constraint\\\\00\", align 1\\n@.str.68 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[2]) == 2), Argument arg0.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.69 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[3]) == 2), Argument arg0.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.70 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[4]) == 8), Argument arg0.shape[4] has an unsatisfied constraint\\\\00\", align 1\\n@.str.71 = private constant [96 x i8] c\"Assert fail: (num_args == 4), fused_nn_contrib_conv2d_NCHWc_add_nn_relu_1: num_args should be 4\\\\00\", align 1\\n@.str.72 = private constant [232 x i8] c\"Assert fail: (((((1 == int32(arg0.strides[4])) && (1 == int32(arg0.strides[3]))) && (28 == int32(arg0.strides[2]))) && (784 == int32(arg0.strides[1]))) && (784 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\\\\00\", align 1\\n@.str.73 = private constant [267 x i8] c\"Assert fail: ((((((1 == int32(arg1.strides[5])) && (8 == int32(arg1.strides[4]))) && (8 == int32(arg1.strides[3]))) && (40 == int32(arg1.strides[2]))) && (200 == int32(arg1.strides[1]))) && (200 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\\\\00\", align 1\\n@.str.74 = private constant [192 x i8] c\"Assert fail: ((((1 == int32(arg2.strides[3])) && (8 == int32(arg2.strides[2]))) && (8 == int32(arg2.strides[1]))) && (8 == int32(arg2.strides[0]))), arg2.strides: expected to be compact array\\\\00\", align 1\\n@.str.75 = private constant [235 x i8] c\"Assert fail: (((((1 == int32(arg3.strides[4])) && (8 == int32(arg3.strides[3]))) && (192 == int32(arg3.strides[2]))) && (4608 == int32(arg3.strides[1]))) && (4608 == int32(arg3.strides[0]))), arg3.strides: expected to be compact array\\\\00\", align 1\\n@.str.76 = private constant [171 x i8] c\"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_contrib_conv2d_NCHWc_add_nn_relu_1: Expect arg[0] to be pointer\\\\00\", align 1\\n@.str.77 = private constant [171 x i8] c\"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_contrib_conv2d_NCHWc_add_nn_relu_1: Expect arg[1] to be pointer\\\\00\", align 1\\n@.str.78 = private constant [171 x i8] c\"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_nn_contrib_conv2d_NCHWc_add_nn_relu_1: Expect arg[2] to be pointer\\\\00\", align 1\\n@.str.79 = private constant [171 x i8] c\"Assert fail: ((((arg3.code == 3) || (arg3.code == 13)) || (arg3.code == 7)) || (arg3.code == 4)), fused_nn_contrib_conv2d_NCHWc_add_nn_relu_1: Expect arg[3] to be pointer\\\\00\", align 1\\n@.str.80 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[4]) == 1), Argument arg0.shape[4] has an unsatisfied constraint\\\\00\", align 1\\n@.str.81 = private constant [81 x i8] c\"Assert fail: (4 == tvm_struct_get(arg2, 0, 4)), arg2.ndim is expected to equal 4\\\\00\", align 1\\n@.str.82 = private constant [186 x i8] c\"Assert fail: (((tvm_struct_get(arg2, 0, 5) == (uint8)2) && (tvm_struct_get(arg2, 0, 6) == (uint8)32)) && (tvm_struct_get(arg2, 0, 7) == (uint16)1)), arg2.dtype is expected to be float32\\\\00\", align 1\\n@.str.83 = private constant [95 x i8] c\"Assert fail: (int32(arg2.shape[0]) == 1), Argument arg2.shape[0] has an unsatisfied constraint\\\\00\", align 1\\n@.str.84 = private constant [95 x i8] c\"Assert fail: (int32(arg2.shape[1]) == 1), Argument arg2.shape[1] has an unsatisfied constraint\\\\00\", align 1\\n@.str.85 = private constant [95 x i8] c\"Assert fail: (int32(arg2.shape[2]) == 1), Argument arg2.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.86 = private constant [95 x i8] c\"Assert fail: (int32(arg2.shape[3]) == 8), Argument arg2.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.87 = private constant [112 x i8] c\"Assert fail: (tvm_struct_get(arg2, 0, 8) == (uint64)0), Argument arg2.byte_offset has an unsatisfied constraint\\\\00\", align 1\\n@.str.88 = private constant [105 x i8] c\"Assert fail: (1 == tvm_struct_get(arg2, 0, 10)), Argument arg2.device_type has an unsatisfied constraint\\\\00\", align 1\\n@.str.89 = private constant [107 x i8] c\"Assert fail: (dev_id == tvm_struct_get(arg2, 0, 9)), Argument arg2.device_id has an unsatisfied constraint\\\\00\", align 1\\n@.str.90 = private constant [81 x i8] c\"Assert fail: (5 == tvm_struct_get(arg3, 0, 4)), arg3.ndim is expected to equal 5\\\\00\", align 1\\n@.str.91 = private constant [186 x i8] c\"Assert fail: (((tvm_struct_get(arg3, 0, 5) == (uint8)2) && (tvm_struct_get(arg3, 0, 6) == (uint8)32)) && (tvm_struct_get(arg3, 0, 7) == (uint16)1)), arg3.dtype is expected to be float32\\\\00\", align 1\\n@.str.92 = private constant [95 x i8] c\"Assert fail: (int32(arg3.shape[0]) == 1), Argument arg3.shape[0] has an unsatisfied constraint\\\\00\", align 1\\n@.str.93 = private constant [95 x i8] c\"Assert fail: (int32(arg3.shape[1]) == 1), Argument arg3.shape[1] has an unsatisfied constraint\\\\00\", align 1\\n@.str.94 = private constant [96 x i8] c\"Assert fail: (int32(arg3.shape[2]) == 24), Argument arg3.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.95 = private constant [96 x i8] c\"Assert fail: (int32(arg3.shape[3]) == 24), Argument arg3.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.96 = private constant [95 x i8] c\"Assert fail: (int32(arg3.shape[4]) == 8), Argument arg3.shape[4] has an unsatisfied constraint\\\\00\", align 1\\n@.str.97 = private constant [112 x i8] c\"Assert fail: (tvm_struct_get(arg3, 0, 8) == (uint64)0), Argument arg3.byte_offset has an unsatisfied constraint\\\\00\", align 1\\n@.str.98 = private constant [105 x i8] c\"Assert fail: (1 == tvm_struct_get(arg3, 0, 10)), Argument arg3.device_type has an unsatisfied constraint\\\\00\", align 1\\n@.str.99 = private constant [107 x i8] c\"Assert fail: (dev_id == tvm_struct_get(arg3, 0, 9)), Argument arg3.device_id has an unsatisfied constraint\\\\00\", align 1\\n@.str.101 = private constant [73 x i8] c\"Assert fail: (num_args == 4), fused_nn_dense_add_1: num_args should be 4\\\\00\", align 1\\n@.str.102 = private constant [124 x i8] c\"Assert fail: ((1 == int32(arg0.strides[1])) && (256 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\\\\00\", align 1\\n@.str.103 = private constant [123 x i8] c\"Assert fail: ((1 == int32(arg2.strides[1])) && (10 == int32(arg2.strides[0]))), arg2.strides: expected to be compact array\\\\00\", align 1\\n@.str.104 = private constant [123 x i8] c\"Assert fail: ((1 == int32(arg3.strides[1])) && (10 == int32(arg3.strides[0]))), arg3.strides: expected to be compact array\\\\00\", align 1\\n@.str.105 = private constant [148 x i8] c\"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_dense_add_1: Expect arg[0] to be pointer\\\\00\", align 1\\n@.str.106 = private constant [148 x i8] c\"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_dense_add_1: Expect arg[1] to be pointer\\\\00\", align 1\\n@.str.107 = private constant [148 x i8] c\"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_nn_dense_add_1: Expect arg[2] to be pointer\\\\00\", align 1\\n@.str.108 = private constant [148 x i8] c\"Assert fail: ((((arg3.code == 3) || (arg3.code == 13)) || (arg3.code == 7)) || (arg3.code == 4)), fused_nn_dense_add_1: Expect arg[3] to be pointer\\\\00\", align 1\\n@.str.109 = private constant [81 x i8] c\"Assert fail: (2 == tvm_struct_get(arg0, 0, 4)), arg0.ndim is expected to equal 2\\\\00\", align 1\\n@.str.110 = private constant [97 x i8] c\"Assert fail: (int32(arg0.shape[1]) == 256), Argument arg0.shape[1] has an unsatisfied constraint\\\\00\", align 1\\n@.str.111 = private constant [81 x i8] c\"Assert fail: (2 == tvm_struct_get(arg2, 0, 4)), arg2.ndim is expected to equal 2\\\\00\", align 1\\n@.str.112 = private constant [96 x i8] c\"Assert fail: (int32(arg2.shape[1]) == 10), Argument arg2.shape[1] has an unsatisfied constraint\\\\00\", align 1\\n@.str.113 = private constant [81 x i8] c\"Assert fail: (2 == tvm_struct_get(arg3, 0, 4)), arg3.ndim is expected to equal 2\\\\00\", align 1\\n@.str.114 = private constant [96 x i8] c\"Assert fail: (int32(arg3.shape[1]) == 10), Argument arg3.shape[1] has an unsatisfied constraint\\\\00\", align 1\\n@.str.116 = private constant [72 x i8] c\"Assert fail: (num_args == 2), fused_nn_max_pool2d: num_args should be 2\\\\00\", align 1\\n@.str.117 = private constant [233 x i8] c\"Assert fail: (((((1 == int32(arg0.strides[4])) && (8 == int32(arg0.strides[3]))) && (64 == int32(arg0.strides[2]))) && (512 == int32(arg0.strides[1]))) && (1024 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\\\\00\", align 1\\n@.str.118 = private constant [230 x i8] c\"Assert fail: (((((1 == int32(arg1.strides[4])) && (8 == int32(arg1.strides[3]))) && (16 == int32(arg1.strides[2]))) && (32 == int32(arg1.strides[1]))) && (64 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\\\\00\", align 1\\n@.str.119 = private constant [147 x i8] c\"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_max_pool2d: Expect arg[0] to be pointer\\\\00\", align 1\\n@.str.120 = private constant [147 x i8] c\"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_max_pool2d: Expect arg[1] to be pointer\\\\00\", align 1\\n@.str.121 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[2]) == 8), Argument arg0.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.122 = private constant [95 x i8] c\"Assert fail: (int32(arg0.shape[3]) == 8), Argument arg0.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.123 = private constant [95 x i8] c\"Assert fail: (int32(arg1.shape[1]) == 2), Argument arg1.shape[1] has an unsatisfied constraint\\\\00\", align 1\\n@.str.124 = private constant [95 x i8] c\"Assert fail: (int32(arg1.shape[2]) == 2), Argument arg1.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.125 = private constant [95 x i8] c\"Assert fail: (int32(arg1.shape[3]) == 2), Argument arg1.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.127 = private constant [77 x i8] c\"Assert fail: (num_args == 2), fused_layout_transform_3: num_args should be 2\\\\00\", align 1\\n@.str.128 = private constant [152 x i8] c\"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_layout_transform_3: Expect arg[0] to be pointer\\\\00\", align 1\\n@.str.129 = private constant [152 x i8] c\"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_layout_transform_3: Expect arg[1] to be pointer\\\\00\", align 1\\n@.str.131 = private constant [94 x i8] c\"Assert fail: (num_args == 4), fused_nn_contrib_conv2d_NCHWc_add_nn_relu: num_args should be 4\\\\00\", align 1\\n@.str.132 = private constant [234 x i8] c\"Assert fail: (((((1 == int32(arg0.strides[4])) && (8 == int32(arg0.strides[3]))) && (96 == int32(arg0.strides[2]))) && (1152 == int32(arg0.strides[1]))) && (1152 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\\\\00\", align 1\\n@.str.133 = private constant [233 x i8] c\"Assert fail: (((((1 == int32(arg3.strides[4])) && (8 == int32(arg3.strides[3]))) && (64 == int32(arg3.strides[2]))) && (512 == int32(arg3.strides[1]))) && (1024 == int32(arg3.strides[0]))), arg3.strides: expected to be compact array\\\\00\", align 1\\n@.str.134 = private constant [169 x i8] c\"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_contrib_conv2d_NCHWc_add_nn_relu: Expect arg[0] to be pointer\\\\00\", align 1\\n@.str.135 = private constant [169 x i8] c\"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_contrib_conv2d_NCHWc_add_nn_relu: Expect arg[1] to be pointer\\\\00\", align 1\\n@.str.136 = private constant [169 x i8] c\"Assert fail: ((((arg2.code == 3) || (arg2.code == 13)) || (arg2.code == 7)) || (arg2.code == 4)), fused_nn_contrib_conv2d_NCHWc_add_nn_relu: Expect arg[2] to be pointer\\\\00\", align 1\\n@.str.137 = private constant [169 x i8] c\"Assert fail: ((((arg3.code == 3) || (arg3.code == 13)) || (arg3.code == 7)) || (arg3.code == 4)), fused_nn_contrib_conv2d_NCHWc_add_nn_relu: Expect arg[3] to be pointer\\\\00\", align 1\\n@.str.138 = private constant [96 x i8] c\"Assert fail: (int32(arg0.shape[2]) == 12), Argument arg0.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.139 = private constant [96 x i8] c\"Assert fail: (int32(arg0.shape[3]) == 12), Argument arg0.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.140 = private constant [95 x i8] c\"Assert fail: (int32(arg2.shape[0]) == 2), Argument arg2.shape[0] has an unsatisfied constraint\\\\00\", align 1\\n@.str.141 = private constant [95 x i8] c\"Assert fail: (int32(arg3.shape[1]) == 2), Argument arg3.shape[1] has an unsatisfied constraint\\\\00\", align 1\\n@.str.142 = private constant [95 x i8] c\"Assert fail: (int32(arg3.shape[2]) == 8), Argument arg3.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.143 = private constant [95 x i8] c\"Assert fail: (int32(arg3.shape[3]) == 8), Argument arg3.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.145 = private constant [75 x i8] c\"Assert fail: (num_args == 2), fused_layout_transform: num_args should be 2\\\\00\", align 1\\n@.str.146 = private constant [194 x i8] c\"Assert fail: ((((1 == int32(arg0.strides[3])) && (5 == int32(arg0.strides[2]))) && (25 == int32(arg0.strides[1]))) && (25 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\\\\00\", align 1\\n@.str.147 = private constant [150 x i8] c\"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_layout_transform: Expect arg[0] to be pointer\\\\00\", align 1\\n@.str.148 = private constant [150 x i8] c\"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_layout_transform: Expect arg[1] to be pointer\\\\00\", align 1\\n@.str.150 = private constant [74 x i8] c\"Assert fail: (num_args == 2), fused_nn_max_pool2d_1: num_args should be 2\\\\00\", align 1\\n@.str.151 = private constant [235 x i8] c\"Assert fail: (((((1 == int32(arg0.strides[4])) && (8 == int32(arg0.strides[3]))) && (192 == int32(arg0.strides[2]))) && (4608 == int32(arg0.strides[1]))) && (4608 == int32(arg0.strides[0]))), arg0.strides: expected to be compact array\\\\00\", align 1\\n@.str.152 = private constant [234 x i8] c\"Assert fail: (((((1 == int32(arg1.strides[4])) && (8 == int32(arg1.strides[3]))) && (96 == int32(arg1.strides[2]))) && (1152 == int32(arg1.strides[1]))) && (1152 == int32(arg1.strides[0]))), arg1.strides: expected to be compact array\\\\00\", align 1\\n@.str.153 = private constant [149 x i8] c\"Assert fail: ((((arg0.code == 3) || (arg0.code == 13)) || (arg0.code == 7)) || (arg0.code == 4)), fused_nn_max_pool2d_1: Expect arg[0] to be pointer\\\\00\", align 1\\n@.str.154 = private constant [149 x i8] c\"Assert fail: ((((arg1.code == 3) || (arg1.code == 13)) || (arg1.code == 7)) || (arg1.code == 4)), fused_nn_max_pool2d_1: Expect arg[1] to be pointer\\\\00\", align 1\\n@.str.155 = private constant [96 x i8] c\"Assert fail: (int32(arg0.shape[2]) == 24), Argument arg0.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.156 = private constant [96 x i8] c\"Assert fail: (int32(arg0.shape[3]) == 24), Argument arg0.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@.str.157 = private constant [96 x i8] c\"Assert fail: (int32(arg1.shape[2]) == 12), Argument arg1.shape[2] has an unsatisfied constraint\\\\00\", align 1\\n@.str.158 = private constant [96 x i8] c\"Assert fail: (int32(arg1.shape[3]) == 12), Argument arg1.shape[3] has an unsatisfied constraint\\\\00\", align 1\\n@__tvm_main__ = weak local_unnamed_addr constant [24 x i8] c\"fused_reshape_transpose\\\\00\", align 1\\n\\ndefine dllexport i32 @fused_reshape_transpose(i8* noalias nocapture readonly, i8* noalias nocapture readonly, i32) local_unnamed_addr {\\nentry:\\n %3 = icmp eq i32 %2, 2\\n br i1 %3, label %assert_end, label %assert_fail, !prof !1\\n\\nassert_fail: ; preds = %entry\\n %4 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %4(i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end: ; preds = %entry\\n %5 = bitcast i8* %0 to %1**\\n %6 = load %1*, %1** %5, align 8\\n %7 = bitcast i8* %1 to i32*\\n %8 = load i32, i32* %7, align 4, !tbaa !5\\n %9 = getelementptr inbounds i8, i8* %0, i64 8\\n %10 = bitcast i8* %9 to %1**\\n %11 = load %1*, %1** %10, align 8\\n %12 = getelementptr inbounds i8, i8* %1, i64 4\\n %13 = bitcast i8* %12 to i32*\\n %14 = load i32, i32* %13, align 4, !tbaa !19\\n %15 = getelementptr inbounds %1, %1* %6, i64 0, i32 0\\n %16 = load i8*, i8** %15, align 8\\n %17 = getelementptr inbounds %1, %1* %6, i64 0, i32 4\\n %18 = load i64*, i64** %17, align 8\\n %19 = getelementptr inbounds %1, %1* %6, i64 0, i32 5\\n %20 = load i64*, i64** %19, align 8\\n %21 = icmp eq i64* %20, null\\n br i1 %21, label %if_end, label %if_then, !prof !21\\n\\nif_then: ; preds = %assert_end\\n %22 = load i64, i64* %20, align 8, !tbaa !22\\n %23 = trunc i64 %22 to i32\\n %24 = icmp eq i32 %23, 160\\n %25 = getelementptr inbounds i64, i64* %20, i64 1\\n %26 = load i64, i64* %25, align 8, !tbaa !36\\n %27 = trunc i64 %26 to i32\\n %28 = icmp eq i32 %27, 40\\n %29 = getelementptr inbounds i64, i64* %20, i64 2\\n %30 = load i64, i64* %29, align 8, !tbaa !38\\n %31 = trunc i64 %30 to i32\\n %32 = icmp eq i32 %31, 10\\n %33 = getelementptr inbounds i64, i64* %20, i64 3\\n %34 = load i64, i64* %33, align 8, !tbaa !41\\n %35 = trunc i64 %34 to i32\\n %36 = icmp eq i32 %35, 1\\n %37 = and i1 %32, %36\\n %38 = and i1 %28, %37\\n %39 = and i1 %24, %38\\n br i1 %39, label %if_end, label %assert_fail1, !prof !1\\n\\nif_end: ; preds = %assert_end, %if_then\\n %40 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 0\\n %41 = load i32, i32* %40, align 4\\n %42 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 1\\n %43 = load i32, i32* %42, align 4\\n %44 = getelementptr inbounds %1, %1* %11, i64 0, i32 0\\n %45 = load i8*, i8** %44, align 8\\n %46 = getelementptr inbounds %1, %1* %11, i64 0, i32 4\\n %47 = load i64*, i64** %46, align 8\\n %48 = getelementptr inbounds %1, %1* %11, i64 0, i32 5\\n %49 = load i64*, i64** %48, align 8\\n %50 = icmp eq i64* %49, null\\n br i1 %50, label %if_end4, label %if_then3, !prof !21\\n\\nassert_fail1: ; preds = %if_then\\n %51 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %51(i8* getelementptr inbounds ([196 x i8], [196 x i8]* @.str.1, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then3: ; preds = %if_end\\n %52 = load i64, i64* %49, align 8, !tbaa !43\\n %53 = trunc i64 %52 to i32\\n %54 = icmp eq i32 %53, 256\\n %55 = getelementptr inbounds i64, i64* %49, i64 1\\n %56 = load i64, i64* %55, align 8, !tbaa !57\\n %57 = trunc i64 %56 to i32\\n %58 = icmp eq i32 %57, 1\\n %59 = and i1 %54, %58\\n br i1 %59, label %if_end4, label %assert_fail5, !prof !1\\n\\nif_end4: ; preds = %if_end, %if_then3\\n switch i32 %8, label %assert_fail7 [\\n i32 13, label %assert_end8\\n i32 7, label %assert_end8\\n i32 4, label %assert_end8\\n i32 3, label %assert_end8\\n ]\\n\\nassert_fail5: ; preds = %if_then3\\n %60 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %60(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.2, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_fail7: ; preds = %if_end4\\n %61 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %61(i8* getelementptr inbounds ([151 x i8], [151 x i8]* @.str.3, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end8: ; preds = %if_end4, %if_end4, %if_end4, %if_end4\\n switch i32 %14, label %assert_fail9 [\\n i32 13, label %assert_end10\\n i32 7, label %assert_end10\\n i32 4, label %assert_end10\\n i32 3, label %assert_end10\\n ]\\n\\nassert_fail9: ; preds = %assert_end8\\n %62 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %62(i8* getelementptr inbounds ([151 x i8], [151 x i8]* @.str.4, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end10: ; preds = %assert_end8, %assert_end8, %assert_end8, %assert_end8\\n %63 = icmp eq i32 %41, 1\\n br i1 %63, label %assert_end12, label %assert_fail11, !prof !1\\n\\nassert_fail11: ; preds = %assert_end10\\n %64 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %64(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.5, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end12: ; preds = %assert_end10\\n %65 = getelementptr inbounds %1, %1* %6, i64 0, i32 2\\n %66 = load i32, i32* %65, align 4\\n %67 = icmp eq i32 %66, 4\\n br i1 %67, label %assert_end14, label %assert_fail13, !prof !1\\n\\nassert_fail13: ; preds = %assert_end12\\n %68 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %68(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.6, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end14: ; preds = %assert_end12\\n %69 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 2\\n %70 = load i16, i16* %69, align 2\\n %71 = icmp eq i16 %70, 1\\n %72 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 1\\n %73 = load i8, i8* %72, align 1\\n %74 = icmp eq i8 %73, 32\\n %75 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 0\\n %76 = load i8, i8* %75, align 1\\n %77 = icmp eq i8 %76, 2\\n %78 = and i1 %74, %77\\n %79 = and i1 %71, %78\\n br i1 %79, label %assert_end16, label %assert_fail15, !prof !1\\n\\nassert_fail15: ; preds = %assert_end14\\n %80 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %80(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.7, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end16: ; preds = %assert_end14\\n %81 = load i64, i64* %18, align 8, !tbaa !59\\n %82 = trunc i64 %81 to i32\\n %83 = icmp eq i32 %82, 16\\n br i1 %83, label %assert_end18, label %assert_fail17, !prof !1\\n\\nassert_fail17: ; preds = %assert_end16\\n %84 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %84(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.8, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end18: ; preds = %assert_end16\\n %85 = getelementptr inbounds i64, i64* %18, i64 1\\n %86 = load i64, i64* %85, align 8, !tbaa !73\\n %87 = trunc i64 %86 to i32\\n %88 = icmp eq i32 %87, 4\\n br i1 %88, label %assert_end20, label %assert_fail19, !prof !1\\n\\nassert_fail19: ; preds = %assert_end18\\n %89 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %89(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.9, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end20: ; preds = %assert_end18\\n %90 = getelementptr inbounds i64, i64* %18, i64 2\\n %91 = load i64, i64* %90, align 8, !tbaa !75\\n %92 = trunc i64 %91 to i32\\n %93 = icmp eq i32 %92, 4\\n br i1 %93, label %assert_end22, label %assert_fail21, !prof !1\\n\\nassert_fail21: ; preds = %assert_end20\\n %94 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %94(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.10, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end22: ; preds = %assert_end20\\n %95 = getelementptr inbounds i64, i64* %18, i64 3\\n %96 = load i64, i64* %95, align 8, !tbaa !78\\n %97 = trunc i64 %96 to i32\\n %98 = icmp eq i32 %97, 10\\n br i1 %98, label %assert_end24, label %assert_fail23, !prof !1\\n\\nassert_fail23: ; preds = %assert_end22\\n %99 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %99(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.11, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end24: ; preds = %assert_end22\\n %100 = getelementptr inbounds %1, %1* %6, i64 0, i32 6\\n %101 = load i64, i64* %100, align 8\\n %102 = icmp eq i64 %101, 0\\n br i1 %102, label %assert_end26, label %assert_fail25, !prof !1\\n\\nassert_fail25: ; preds = %assert_end24\\n %103 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %103(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.12, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end26: ; preds = %assert_end24\\n %104 = getelementptr inbounds %1, %1* %11, i64 0, i32 2\\n %105 = load i32, i32* %104, align 4\\n %106 = icmp eq i32 %105, 2\\n br i1 %106, label %assert_end28, label %assert_fail27, !prof !1\\n\\nassert_fail27: ; preds = %assert_end26\\n %107 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %107(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.13, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end28: ; preds = %assert_end26\\n %108 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 2\\n %109 = load i16, i16* %108, align 2\\n %110 = icmp eq i16 %109, 1\\n %111 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 1\\n %112 = load i8, i8* %111, align 1\\n %113 = icmp eq i8 %112, 32\\n %114 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 0\\n %115 = load i8, i8* %114, align 1\\n %116 = icmp eq i8 %115, 2\\n %117 = and i1 %113, %116\\n %118 = and i1 %110, %117\\n br i1 %118, label %assert_end30, label %assert_fail29, !prof !1\\n\\nassert_fail29: ; preds = %assert_end28\\n %119 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %119(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.14, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end30: ; preds = %assert_end28\\n %120 = load i64, i64* %47, align 8, !tbaa !80\\n %121 = trunc i64 %120 to i32\\n %122 = icmp eq i32 %121, 10\\n br i1 %122, label %assert_end32, label %assert_fail31, !prof !1\\n\\nassert_fail31: ; preds = %assert_end30\\n %123 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %123(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.15, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end32: ; preds = %assert_end30\\n %124 = getelementptr inbounds i64, i64* %47, i64 1\\n %125 = load i64, i64* %124, align 8, !tbaa !94\\n %126 = trunc i64 %125 to i32\\n %127 = icmp eq i32 %126, 256\\n br i1 %127, label %assert_end34, label %assert_fail33, !prof !1\\n\\nassert_fail33: ; preds = %assert_end32\\n %128 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %128(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.16, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end34: ; preds = %assert_end32\\n %129 = getelementptr inbounds %1, %1* %11, i64 0, i32 6\\n %130 = load i64, i64* %129, align 8\\n %131 = icmp eq i64 %130, 0\\n br i1 %131, label %assert_end36, label %assert_fail35, !prof !1\\n\\nassert_fail35: ; preds = %assert_end34\\n %132 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %132(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.17, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end36: ; preds = %assert_end34\\n %133 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 0\\n %134 = load i32, i32* %133, align 4\\n %135 = icmp eq i32 %134, 1\\n br i1 %135, label %assert_end38, label %assert_fail37, !prof !1\\n\\nassert_fail37: ; preds = %assert_end36\\n %136 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %136(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.18, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end38: ; preds = %assert_end36\\n %137 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 1\\n %138 = load i32, i32* %137, align 4\\n %139 = icmp eq i32 %43, %138\\n br i1 %139, label %assert_end40, label %assert_fail39, !prof !1\\n\\nassert_fail39: ; preds = %assert_end38\\n %140 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %140(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.19, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end40: ; preds = %assert_end38\\n %141 = tail call fastcc i32 @fused_reshape_transpose_compute_(i8* %45, i8* %16)\\n ret i32 %141\\n}\\n\\n; Function Attrs: noinline\\ndefine private fastcc i32 @fused_reshape_transpose_compute_(i8* noalias, i8* noalias) unnamed_addr #0 {\\nentry:\\n %2 = alloca %4, align 8\\n %3 = getelementptr inbounds %4, %4* %2, i64 0, i32 0\\n store i8* %0, i8** %3, align 8\\n %4 = getelementptr inbounds %4, %4* %2, i64 0, i32 1\\n store i8* %1, i8** %4, align 8\\n %5 = bitcast %4* %2 to i8*\\n %6 = load i32 (i32 (i32, %0*, i8*)*, i8*, i32)*, i32 (i32 (i32, %0*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !2\\n %7 = call i32 %6(i32 (i32, %0*, i8*)* nonnull @__tvm_parallel_lambda, i8* nonnull %5, i32 0)\\n ret i32 %7\\n}\\n\\n; Function Attrs: norecurse nounwind\\ndefine private i32 @__tvm_parallel_lambda(i32, %0* nocapture readonly, i8* nocapture readonly) #1 {\\nentry:\\n %3 = bitcast i8* %2 to float**\\n %4 = load float*, float** %3, align 8\\n %5 = getelementptr inbounds i8, i8* %2, i64 8\\n %6 = bitcast i8* %5 to float**\\n %7 = load float*, float** %6, align 8\\n %8 = getelementptr inbounds %0, %0* %1, i64 0, i32 1\\n %9 = load i32, i32* %8, align 4\\n %10 = add nsw i32 %9, 9\\n %11 = sdiv i32 %10, %9\\n %12 = add nsw i32 %0, 1\\n %13 = mul nsw i32 %11, %12\\n %14 = icmp slt i32 %13, 10\\n %15 = select i1 %14, i32 %13, i32 10\\n %16 = mul nsw i32 %11, %0\\n %17 = icmp slt i32 %16, 10\\n %18 = select i1 %17, i32 %16, i32 10\\n %19 = icmp slt i32 %18, %15\\n br i1 %19, label %for_body.lr.ph, label %for_end, !prof !1\\n\\nfor_body.lr.ph: ; preds = %entry\\n %20 = add i32 %18, 1\\n %21 = sext i32 %20 to i64\\n %22 = add nsw i64 %21, -1\\n %23 = sext i32 %15 to i64\\n br label %for_body\\n\\nfor_body: ; preds = %for_body.lr.ph, %for_end3\\n %indvars.iv4 = phi i64 [ %22, %for_body.lr.ph ], [ %indvars.iv.next5, %for_end3 ]\\n %24 = trunc i64 %indvars.iv4 to i32\\n %25 = shl i32 %24, 8\\n %26 = sext i32 %25 to i64\\n br label %for_body2\\n\\nfor_end: ; preds = %for_end3, %entry\\n ret i32 0\\n\\nfor_body2: ; preds = %for_body2, %for_body\\n %indvars.iv = phi i64 [ 0, %for_body ], [ %indvars.iv.next, %for_body2 ]\\n %27 = add nsw i64 %indvars.iv, %26\\n %28 = mul nuw nsw i64 %indvars.iv, 10\\n %29 = add nsw i64 %28, %indvars.iv4\\n %30 = getelementptr inbounds float, float* %7, i64 %29\\n %31 = bitcast float* %30 to i32*\\n %32 = load i32, i32* %31, align 4, !tbaa !96\\n %33 = getelementptr inbounds float, float* %4, i64 %27\\n %34 = bitcast float* %33 to i32*\\n store i32 %32, i32* %34, align 4, !tbaa !99\\n %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1\\n %exitcond = icmp eq i64 %indvars.iv.next, 256\\n br i1 %exitcond, label %for_end3, label %for_body2, !prof !21\\n\\nfor_end3: ; preds = %for_body2\\n %indvars.iv.next5 = add nsw i64 %indvars.iv4, 1\\n %35 = icmp slt i64 %indvars.iv.next5, %23\\n br i1 %35, label %for_body, label %for_end, !prof !1\\n}\\n\\ndefine dllexport i32 @fused_layout_transform_2(i8* noalias nocapture readonly, i8* noalias nocapture readonly, i32) local_unnamed_addr {\\nentry:\\n %3 = icmp eq i32 %2, 2\\n br i1 %3, label %assert_end, label %assert_fail, !prof !1\\n\\nassert_fail: ; preds = %entry\\n %4 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %4(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.20, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end: ; preds = %entry\\n %5 = bitcast i8* %0 to %1**\\n %6 = load %1*, %1** %5, align 8\\n %7 = bitcast i8* %1 to i32*\\n %8 = load i32, i32* %7, align 4, !tbaa !102\\n %9 = getelementptr inbounds i8, i8* %0, i64 8\\n %10 = bitcast i8* %9 to %1**\\n %11 = load %1*, %1** %10, align 8\\n %12 = getelementptr inbounds i8, i8* %1, i64 4\\n %13 = bitcast i8* %12 to i32*\\n %14 = load i32, i32* %13, align 4, !tbaa !116\\n %15 = getelementptr inbounds %1, %1* %6, i64 0, i32 0\\n %16 = load i8*, i8** %15, align 8\\n %17 = getelementptr inbounds %1, %1* %6, i64 0, i32 4\\n %18 = load i64*, i64** %17, align 8\\n %19 = getelementptr inbounds %1, %1* %6, i64 0, i32 5\\n %20 = load i64*, i64** %19, align 8\\n %21 = icmp eq i64* %20, null\\n br i1 %21, label %if_end, label %if_then, !prof !21\\n\\nif_then: ; preds = %assert_end\\n %22 = load i64, i64* %20, align 8, !tbaa !118\\n %23 = trunc i64 %22 to i32\\n %24 = icmp eq i32 %23, 200\\n %25 = getelementptr inbounds i64, i64* %20, i64 1\\n %26 = load i64, i64* %25, align 8, !tbaa !132\\n %27 = trunc i64 %26 to i32\\n %28 = icmp eq i32 %27, 25\\n %29 = getelementptr inbounds i64, i64* %20, i64 2\\n %30 = load i64, i64* %29, align 8, !tbaa !134\\n %31 = trunc i64 %30 to i32\\n %32 = icmp eq i32 %31, 5\\n %33 = getelementptr inbounds i64, i64* %20, i64 3\\n %34 = load i64, i64* %33, align 8, !tbaa !137\\n %35 = trunc i64 %34 to i32\\n %36 = icmp eq i32 %35, 1\\n %37 = and i1 %32, %36\\n %38 = and i1 %28, %37\\n %39 = and i1 %24, %38\\n br i1 %39, label %if_end, label %assert_fail1, !prof !1\\n\\nif_end: ; preds = %assert_end, %if_then\\n %40 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 0\\n %41 = load i32, i32* %40, align 4\\n %42 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 1\\n %43 = load i32, i32* %42, align 4\\n %44 = getelementptr inbounds %1, %1* %11, i64 0, i32 0\\n %45 = load i8*, i8** %44, align 8\\n %46 = getelementptr inbounds %1, %1* %11, i64 0, i32 4\\n %47 = load i64*, i64** %46, align 8\\n %48 = getelementptr inbounds %1, %1* %11, i64 0, i32 5\\n %49 = load i64*, i64** %48, align 8\\n %50 = icmp eq i64* %49, null\\n br i1 %50, label %if_end4, label %if_then3, !prof !21\\n\\nassert_fail1: ; preds = %if_then\\n %51 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %51(i8* getelementptr inbounds ([195 x i8], [195 x i8]* @.str.21, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then3: ; preds = %if_end\\n %52 = load i64, i64* %49, align 8, !tbaa !139\\n %53 = trunc i64 %52 to i32\\n %54 = icmp eq i32 %53, 1600\\n %55 = getelementptr inbounds i64, i64* %49, i64 1\\n %56 = load i64, i64* %55, align 8, !tbaa !153\\n %57 = trunc i64 %56 to i32\\n %58 = icmp eq i32 %57, 1600\\n %59 = getelementptr inbounds i64, i64* %49, i64 2\\n %60 = load i64, i64* %59, align 8, !tbaa !155\\n %61 = trunc i64 %60 to i32\\n %62 = icmp eq i32 %61, 320\\n %63 = getelementptr inbounds i64, i64* %49, i64 3\\n %64 = load i64, i64* %63, align 8, !tbaa !158\\n %65 = trunc i64 %64 to i32\\n %66 = icmp eq i32 %65, 64\\n %67 = getelementptr inbounds i64, i64* %49, i64 4\\n %68 = load i64, i64* %67, align 8, !tbaa !160\\n %69 = trunc i64 %68 to i32\\n %70 = icmp eq i32 %69, 8\\n %71 = getelementptr inbounds i64, i64* %49, i64 5\\n %72 = load i64, i64* %71, align 8, !tbaa !164\\n %73 = trunc i64 %72 to i32\\n %74 = icmp eq i32 %73, 1\\n %75 = and i1 %70, %74\\n %76 = and i1 %66, %75\\n %77 = and i1 %62, %76\\n %78 = and i1 %58, %77\\n %79 = and i1 %54, %78\\n br i1 %79, label %if_end4, label %assert_fail5, !prof !1\\n\\nif_end4: ; preds = %if_end, %if_then3\\n switch i32 %8, label %assert_fail7 [\\n i32 13, label %assert_end8\\n i32 7, label %assert_end8\\n i32 4, label %assert_end8\\n i32 3, label %assert_end8\\n ]\\n\\nassert_fail5: ; preds = %if_then3\\n %80 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %80(i8* getelementptr inbounds ([271 x i8], [271 x i8]* @.str.22, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_fail7: ; preds = %if_end4\\n %81 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %81(i8* getelementptr inbounds ([152 x i8], [152 x i8]* @.str.23, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end8: ; preds = %if_end4, %if_end4, %if_end4, %if_end4\\n switch i32 %14, label %assert_fail9 [\\n i32 13, label %assert_end10\\n i32 7, label %assert_end10\\n i32 4, label %assert_end10\\n i32 3, label %assert_end10\\n ]\\n\\nassert_fail9: ; preds = %assert_end8\\n %82 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %82(i8* getelementptr inbounds ([152 x i8], [152 x i8]* @.str.24, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end10: ; preds = %assert_end8, %assert_end8, %assert_end8, %assert_end8\\n %83 = icmp eq i32 %41, 1\\n br i1 %83, label %assert_end12, label %assert_fail11, !prof !1\\n\\nassert_fail11: ; preds = %assert_end10\\n %84 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %84(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.5, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end12: ; preds = %assert_end10\\n %85 = getelementptr inbounds %1, %1* %6, i64 0, i32 2\\n %86 = load i32, i32* %85, align 4\\n %87 = icmp eq i32 %86, 4\\n br i1 %87, label %assert_end14, label %assert_fail13, !prof !1\\n\\nassert_fail13: ; preds = %assert_end12\\n %88 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %88(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.6, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end14: ; preds = %assert_end12\\n %89 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 2\\n %90 = load i16, i16* %89, align 2\\n %91 = icmp eq i16 %90, 1\\n %92 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 1\\n %93 = load i8, i8* %92, align 1\\n %94 = icmp eq i8 %93, 32\\n %95 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 0\\n %96 = load i8, i8* %95, align 1\\n %97 = icmp eq i8 %96, 2\\n %98 = and i1 %94, %97\\n %99 = and i1 %91, %98\\n br i1 %99, label %assert_end16, label %assert_fail15, !prof !1\\n\\nassert_fail15: ; preds = %assert_end14\\n %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %100(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.7, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end16: ; preds = %assert_end14\\n %101 = load i64, i64* %18, align 8, !tbaa !166\\n %102 = trunc i64 %101 to i32\\n %103 = icmp eq i32 %102, 16\\n br i1 %103, label %assert_end18, label %assert_fail17, !prof !1\\n\\nassert_fail17: ; preds = %assert_end16\\n %104 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %104(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.8, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end18: ; preds = %assert_end16\\n %105 = getelementptr inbounds i64, i64* %18, i64 1\\n %106 = load i64, i64* %105, align 8, !tbaa !180\\n %107 = trunc i64 %106 to i32\\n %108 = icmp eq i32 %107, 8\\n br i1 %108, label %assert_end20, label %assert_fail19, !prof !1\\n\\nassert_fail19: ; preds = %assert_end18\\n %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %109(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.25, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end20: ; preds = %assert_end18\\n %110 = getelementptr inbounds i64, i64* %18, i64 2\\n %111 = load i64, i64* %110, align 8, !tbaa !182\\n %112 = trunc i64 %111 to i32\\n %113 = icmp eq i32 %112, 5\\n br i1 %113, label %assert_end22, label %assert_fail21, !prof !1\\n\\nassert_fail21: ; preds = %assert_end20\\n %114 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %114(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.26, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end22: ; preds = %assert_end20\\n %115 = getelementptr inbounds i64, i64* %18, i64 3\\n %116 = load i64, i64* %115, align 8, !tbaa !185\\n %117 = trunc i64 %116 to i32\\n %118 = icmp eq i32 %117, 5\\n br i1 %118, label %assert_end24, label %assert_fail23, !prof !1\\n\\nassert_fail23: ; preds = %assert_end22\\n %119 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %119(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.27, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end24: ; preds = %assert_end22\\n %120 = getelementptr inbounds %1, %1* %6, i64 0, i32 6\\n %121 = load i64, i64* %120, align 8\\n %122 = icmp eq i64 %121, 0\\n br i1 %122, label %assert_end26, label %assert_fail25, !prof !1\\n\\nassert_fail25: ; preds = %assert_end24\\n %123 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %123(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.12, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end26: ; preds = %assert_end24\\n %124 = getelementptr inbounds %1, %1* %11, i64 0, i32 2\\n %125 = load i32, i32* %124, align 4\\n %126 = icmp eq i32 %125, 6\\n br i1 %126, label %assert_end28, label %assert_fail27, !prof !1\\n\\nassert_fail27: ; preds = %assert_end26\\n %127 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %127(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.28, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end28: ; preds = %assert_end26\\n %128 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 2\\n %129 = load i16, i16* %128, align 2\\n %130 = icmp eq i16 %129, 1\\n %131 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 1\\n %132 = load i8, i8* %131, align 1\\n %133 = icmp eq i8 %132, 32\\n %134 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 0\\n %135 = load i8, i8* %134, align 1\\n %136 = icmp eq i8 %135, 2\\n %137 = and i1 %133, %136\\n %138 = and i1 %130, %137\\n br i1 %138, label %assert_end30, label %assert_fail29, !prof !1\\n\\nassert_fail29: ; preds = %assert_end28\\n %139 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %139(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.14, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end30: ; preds = %assert_end28\\n %140 = load i64, i64* %47, align 8, !tbaa !187\\n %141 = trunc i64 %140 to i32\\n %142 = icmp eq i32 %141, 2\\n br i1 %142, label %assert_end32, label %assert_fail31, !prof !1\\n\\nassert_fail31: ; preds = %assert_end30\\n %143 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %143(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.29, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end32: ; preds = %assert_end30\\n %144 = getelementptr inbounds i64, i64* %47, i64 1\\n %145 = load i64, i64* %144, align 8, !tbaa !201\\n %146 = trunc i64 %145 to i32\\n %147 = icmp eq i32 %146, 1\\n br i1 %147, label %assert_end34, label %assert_fail33, !prof !1\\n\\nassert_fail33: ; preds = %assert_end32\\n %148 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %148(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.30, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end34: ; preds = %assert_end32\\n %149 = getelementptr inbounds i64, i64* %47, i64 2\\n %150 = load i64, i64* %149, align 8, !tbaa !203\\n %151 = trunc i64 %150 to i32\\n %152 = icmp eq i32 %151, 5\\n br i1 %152, label %assert_end36, label %assert_fail35, !prof !1\\n\\nassert_fail35: ; preds = %assert_end34\\n %153 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %153(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.31, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end36: ; preds = %assert_end34\\n %154 = getelementptr inbounds i64, i64* %47, i64 3\\n %155 = load i64, i64* %154, align 8, !tbaa !206\\n %156 = trunc i64 %155 to i32\\n %157 = icmp eq i32 %156, 5\\n br i1 %157, label %assert_end38, label %assert_fail37, !prof !1\\n\\nassert_fail37: ; preds = %assert_end36\\n %158 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %158(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.32, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end38: ; preds = %assert_end36\\n %159 = getelementptr inbounds i64, i64* %47, i64 4\\n %160 = load i64, i64* %159, align 8, !tbaa !208\\n %161 = trunc i64 %160 to i32\\n %162 = icmp eq i32 %161, 8\\n br i1 %162, label %assert_end40, label %assert_fail39, !prof !1\\n\\nassert_fail39: ; preds = %assert_end38\\n %163 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %163(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.33, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end40: ; preds = %assert_end38\\n %164 = getelementptr inbounds i64, i64* %47, i64 5\\n %165 = load i64, i64* %164, align 8, !tbaa !212\\n %166 = trunc i64 %165 to i32\\n %167 = icmp eq i32 %166, 8\\n br i1 %167, label %assert_end42, label %assert_fail41, !prof !1\\n\\nassert_fail41: ; preds = %assert_end40\\n %168 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %168(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.34, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end42: ; preds = %assert_end40\\n %169 = getelementptr inbounds %1, %1* %11, i64 0, i32 6\\n %170 = load i64, i64* %169, align 8\\n %171 = icmp eq i64 %170, 0\\n br i1 %171, label %assert_end44, label %assert_fail43, !prof !1\\n\\nassert_fail43: ; preds = %assert_end42\\n %172 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %172(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.17, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end44: ; preds = %assert_end42\\n %173 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 0\\n %174 = load i32, i32* %173, align 4\\n %175 = icmp eq i32 %174, 1\\n br i1 %175, label %assert_end46, label %assert_fail45, !prof !1\\n\\nassert_fail45: ; preds = %assert_end44\\n %176 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %176(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.18, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end46: ; preds = %assert_end44\\n %177 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 1\\n %178 = load i32, i32* %177, align 4\\n %179 = icmp eq i32 %43, %178\\n br i1 %179, label %assert_end48, label %assert_fail47, !prof !1\\n\\nassert_fail47: ; preds = %assert_end46\\n %180 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %180(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.19, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end48: ; preds = %assert_end46\\n %181 = tail call fastcc i32 @fused_layout_transform_2_compute_(i8* %45, i8* %16)\\n ret i32 %181\\n}\\n\\n; Function Attrs: noinline\\ndefine private fastcc i32 @fused_layout_transform_2_compute_(i8* noalias, i8* noalias) unnamed_addr #0 {\\nentry:\\n %2 = alloca %5, align 8\\n %3 = getelementptr inbounds %5, %5* %2, i64 0, i32 0\\n store i8* %0, i8** %3, align 8\\n %4 = getelementptr inbounds %5, %5* %2, i64 0, i32 1\\n store i8* %1, i8** %4, align 8\\n %5 = bitcast %5* %2 to i8*\\n %6 = load i32 (i32 (i32, %0*, i8*)*, i8*, i32)*, i32 (i32 (i32, %0*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !2\\n %7 = call i32 %6(i32 (i32, %0*, i8*)* nonnull @__tvm_parallel_lambda.35, i8* nonnull %5, i32 0)\\n ret i32 %7\\n}\\n\\n; Function Attrs: norecurse nounwind\\ndefine private i32 @__tvm_parallel_lambda.35(i32, %0* nocapture readonly, i8* nocapture readonly) #1 {\\nentry:\\n %3 = bitcast i8* %2 to float**\\n %4 = load float*, float** %3, align 8\\n %5 = getelementptr inbounds i8, i8* %2, i64 8\\n %6 = bitcast i8* %5 to float**\\n %7 = load float*, float** %6, align 8\\n %8 = getelementptr inbounds %0, %0* %1, i64 0, i32 1\\n %9 = load i32, i32* %8, align 4\\n %10 = add nsw i32 %9, 9\\n %11 = sdiv i32 %10, %9\\n %12 = add nsw i32 %0, 1\\n %13 = mul nsw i32 %11, %12\\n %14 = icmp slt i32 %13, 10\\n %15 = select i1 %14, i32 %13, i32 10\\n %16 = mul nsw i32 %11, %0\\n %17 = icmp slt i32 %16, 10\\n %18 = select i1 %17, i32 %16, i32 10\\n %19 = icmp slt i32 %18, %15\\n br i1 %19, label %for_body.lr.ph, label %for_end, !prof !1\\n\\nfor_body.lr.ph: ; preds = %entry\\n %20 = add i32 %18, 1\\n %21 = sext i32 %20 to i64\\n %22 = add nsw i64 %21, -1\\n %23 = sext i32 %15 to i64\\n br label %for_body\\n\\nfor_body: ; preds = %for_body.lr.ph, %for_end3\\n %indvars.iv13 = phi i64 [ %22, %for_body.lr.ph ], [ %indvars.iv.next14, %for_end3 ]\\n %24 = mul nsw i64 %indvars.iv13, 5\\n %25 = trunc i64 %indvars.iv13 to i32\\n %26 = srem i32 %25, 5\\n %27 = sdiv i32 %25, 5\\n %28 = shl i32 %27, 6\\n %29 = sext i32 %26 to i64\\n %30 = shl i32 %27, 6\\n %31 = sext i32 %30 to i64\\n %32 = shl i32 %27, 6\\n %33 = or i32 %32, 8\\n %34 = sext i32 %33 to i64\\n %35 = shl i32 %27, 6\\n %36 = or i32 %35, 16\\n %37 = sext i32 %36 to i64\\n %38 = shl i32 %27, 6\\n %39 = or i32 %38, 24\\n %40 = sext i32 %39 to i64\\n %41 = shl i32 %27, 6\\n %42 = or i32 %41, 32\\n %43 = sext i32 %42 to i64\\n %44 = shl i32 %27, 6\\n %45 = or i32 %44, 40\\n %46 = sext i32 %45 to i64\\n %47 = shl i32 %27, 6\\n %48 = or i32 %47, 48\\n %49 = sext i32 %48 to i64\\n %50 = or i32 %28, 56\\n %51 = sext i32 %50 to i64\\n br label %for_body2\\n\\nfor_end: ; preds = %for_end3, %entry\\n ret i32 0\\n\\nfor_body2: ; preds = %for_end6, %for_body\\n %indvars.iv10 = phi i64 [ 0, %for_body ], [ %indvars.iv.next11, %for_end6 ]\\n %52 = add nsw i64 %indvars.iv10, %24\\n %53 = trunc i64 %52 to i32\\n %54 = shl i32 %53, 3\\n br label %for_body5\\n\\nfor_end3: ; preds = %for_end6\\n %indvars.iv.next14 = add nsw i64 %indvars.iv13, 1\\n %55 = icmp slt i64 %indvars.iv.next14, %23\\n br i1 %55, label %for_body, label %for_end, !prof !1\\n\\nfor_body5: ; preds = %for_body5, %for_body2\\n %indvars.iv = phi i64 [ 0, %for_body2 ], [ %indvars.iv.next, %for_body5 ]\\n %56 = trunc i64 %indvars.iv to i32\\n %57 = add i32 %54, %56\\n %58 = shl i32 %57, 3\\n %59 = sext i32 %58 to i64\\n %60 = add nuw nsw i64 %indvars.iv, %31\\n %61 = mul nsw i64 %60, 5\\n %62 = add nsw i64 %61, %29\\n %63 = mul nsw i64 %62, 5\\n %64 = add nsw i64 %63, %indvars.iv10\\n %65 = getelementptr inbounds float, float* %7, i64 %64\\n %66 = bitcast float* %65 to i32*\\n %67 = load i32, i32* %66, align 4, !tbaa !214\\n %68 = getelementptr inbounds float, float* %4, i64 %59\\n %69 = bitcast float* %68 to i32*\\n store i32 %67, i32* %69, align 4, !tbaa !217\\n %70 = or i64 %59, 1\\n %71 = add nuw nsw i64 %indvars.iv, %34\\n %72 = mul nsw i64 %71, 5\\n %73 = add nsw i64 %72, %29\\n %74 = mul nsw i64 %73, 5\\n %75 = add nsw i64 %74, %indvars.iv10\\n %76 = getelementptr inbounds float, float* %7, i64 %75\\n %77 = bitcast float* %76 to i32*\\n %78 = load i32, i32* %77, align 4, !tbaa !214\\n %79 = getelementptr inbounds float, float* %4, i64 %70\\n %80 = bitcast float* %79 to i32*\\n store i32 %78, i32* %80, align 4, !tbaa !217\\n %81 = or i64 %59, 2\\n %82 = add nuw nsw i64 %indvars.iv, %37\\n %83 = mul nsw i64 %82, 5\\n %84 = add nsw i64 %83, %29\\n %85 = mul nsw i64 %84, 5\\n %86 = add nsw i64 %85, %indvars.iv10\\n %87 = getelementptr inbounds float, float* %7, i64 %86\\n %88 = bitcast float* %87 to i32*\\n %89 = load i32, i32* %88, align 4, !tbaa !214\\n %90 = getelementptr inbounds float, float* %4, i64 %81\\n %91 = bitcast float* %90 to i32*\\n store i32 %89, i32* %91, align 4, !tbaa !217\\n %92 = or i64 %59, 3\\n %93 = add nuw nsw i64 %indvars.iv, %40\\n %94 = mul nsw i64 %93, 5\\n %95 = add nsw i64 %94, %29\\n %96 = mul nsw i64 %95, 5\\n %97 = add nsw i64 %96, %indvars.iv10\\n %98 = getelementptr inbounds float, float* %7, i64 %97\\n %99 = bitcast float* %98 to i32*\\n %100 = load i32, i32* %99, align 4, !tbaa !214\\n %101 = getelementptr inbounds float, float* %4, i64 %92\\n %102 = bitcast float* %101 to i32*\\n store i32 %100, i32* %102, align 4, !tbaa !217\\n %103 = or i64 %59, 4\\n %104 = add nuw nsw i64 %indvars.iv, %43\\n %105 = mul nsw i64 %104, 5\\n %106 = add nsw i64 %105, %29\\n %107 = mul nsw i64 %106, 5\\n %108 = add nsw i64 %107, %indvars.iv10\\n %109 = getelementptr inbounds float, float* %7, i64 %108\\n %110 = bitcast float* %109 to i32*\\n %111 = load i32, i32* %110, align 4, !tbaa !214\\n %112 = getelementptr inbounds float, float* %4, i64 %103\\n %113 = bitcast float* %112 to i32*\\n store i32 %111, i32* %113, align 4, !tbaa !217\\n %114 = or i64 %59, 5\\n %115 = add nuw nsw i64 %indvars.iv, %46\\n %116 = mul nsw i64 %115, 5\\n %117 = add nsw i64 %116, %29\\n %118 = mul nsw i64 %117, 5\\n %119 = add nsw i64 %118, %indvars.iv10\\n %120 = getelementptr inbounds float, float* %7, i64 %119\\n %121 = bitcast float* %120 to i32*\\n %122 = load i32, i32* %121, align 4, !tbaa !214\\n %123 = getelementptr inbounds float, float* %4, i64 %114\\n %124 = bitcast float* %123 to i32*\\n store i32 %122, i32* %124, align 4, !tbaa !217\\n %125 = or i64 %59, 6\\n %126 = add nuw nsw i64 %indvars.iv, %49\\n %127 = mul nsw i64 %126, 5\\n %128 = add nsw i64 %127, %29\\n %129 = mul nsw i64 %128, 5\\n %130 = add nsw i64 %129, %indvars.iv10\\n %131 = getelementptr inbounds float, float* %7, i64 %130\\n %132 = bitcast float* %131 to i32*\\n %133 = load i32, i32* %132, align 4, !tbaa !214\\n %134 = getelementptr inbounds float, float* %4, i64 %125\\n %135 = bitcast float* %134 to i32*\\n store i32 %133, i32* %135, align 4, !tbaa !217\\n %136 = or i64 %59, 7\\n %137 = add nsw i64 %indvars.iv, %51\\n %138 = mul nsw i64 %137, 5\\n %139 = add nsw i64 %138, %29\\n %140 = mul nsw i64 %139, 5\\n %141 = add nsw i64 %140, %indvars.iv10\\n %142 = getelementptr inbounds float, float* %7, i64 %141\\n %143 = bitcast float* %142 to i32*\\n %144 = load i32, i32* %143, align 4, !tbaa !214\\n %145 = getelementptr inbounds float, float* %4, i64 %136\\n %146 = bitcast float* %145 to i32*\\n store i32 %144, i32* %146, align 4, !tbaa !217\\n %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1\\n %exitcond = icmp eq i64 %indvars.iv.next, 8\\n br i1 %exitcond, label %for_end6, label %for_body5, !prof !21\\n\\nfor_end6: ; preds = %for_body5\\n %indvars.iv.next11 = add nuw nsw i64 %indvars.iv10, 1\\n %exitcond12 = icmp eq i64 %indvars.iv.next11, 5\\n br i1 %exitcond12, label %for_end3, label %for_body2, !prof !21\\n}\\n\\ndefine dllexport i32 @fused_layout_transform_1(i8* noalias nocapture readonly, i8* noalias nocapture readonly, i32) local_unnamed_addr {\\nentry:\\n %3 = icmp eq i32 %2, 2\\n br i1 %3, label %assert_end, label %assert_fail, !prof !1\\n\\nassert_fail: ; preds = %entry\\n %4 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %4(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.36, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end: ; preds = %entry\\n %5 = bitcast i8* %0 to %1**\\n %6 = load %1*, %1** %5, align 8\\n %7 = bitcast i8* %1 to i32*\\n %8 = load i32, i32* %7, align 4, !tbaa !220\\n %9 = getelementptr inbounds i8, i8* %0, i64 8\\n %10 = bitcast i8* %9 to %1**\\n %11 = load %1*, %1** %10, align 8\\n %12 = getelementptr inbounds i8, i8* %1, i64 4\\n %13 = bitcast i8* %12 to i32*\\n %14 = load i32, i32* %13, align 4, !tbaa !234\\n %15 = getelementptr inbounds %1, %1* %6, i64 0, i32 0\\n %16 = load i8*, i8** %15, align 8\\n %17 = getelementptr inbounds %1, %1* %6, i64 0, i32 4\\n %18 = load i64*, i64** %17, align 8\\n %19 = getelementptr inbounds %1, %1* %6, i64 0, i32 5\\n %20 = load i64*, i64** %19, align 8\\n %21 = icmp eq i64* %20, null\\n br i1 %21, label %if_end, label %if_then, !prof !21\\n\\nif_then: ; preds = %assert_end\\n %22 = load i64, i64* %20, align 8, !tbaa !236\\n %23 = trunc i64 %22 to i32\\n %24 = icmp eq i32 %23, 1\\n %25 = getelementptr inbounds i64, i64* %20, i64 1\\n %26 = load i64, i64* %25, align 8, !tbaa !250\\n %27 = trunc i64 %26 to i32\\n %28 = icmp eq i32 %27, 1\\n %29 = getelementptr inbounds i64, i64* %20, i64 2\\n %30 = load i64, i64* %29, align 8, !tbaa !252\\n %31 = trunc i64 %30 to i32\\n %32 = icmp eq i32 %31, 1\\n %33 = and i1 %28, %32\\n %34 = and i1 %24, %33\\n br i1 %34, label %if_end, label %assert_fail1, !prof !1\\n\\nif_end: ; preds = %assert_end, %if_then\\n %35 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 0\\n %36 = load i32, i32* %35, align 4\\n %37 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 1\\n %38 = load i32, i32* %37, align 4\\n %39 = getelementptr inbounds %1, %1* %11, i64 0, i32 0\\n %40 = load i8*, i8** %39, align 8\\n %41 = getelementptr inbounds %1, %1* %11, i64 0, i32 4\\n %42 = load i64*, i64** %41, align 8\\n %43 = getelementptr inbounds %1, %1* %11, i64 0, i32 5\\n %44 = load i64*, i64** %43, align 8\\n %45 = icmp eq i64* %44, null\\n br i1 %45, label %if_end4, label %if_then3, !prof !21\\n\\nassert_fail1: ; preds = %if_then\\n %46 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %46(i8* getelementptr inbounds ([157 x i8], [157 x i8]* @.str.37, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then3: ; preds = %if_end\\n %47 = load i64, i64* %44, align 8, !tbaa !255\\n %48 = trunc i64 %47 to i32\\n %49 = icmp eq i32 %48, 8\\n %50 = getelementptr inbounds i64, i64* %44, i64 1\\n %51 = load i64, i64* %50, align 8, !tbaa !269\\n %52 = trunc i64 %51 to i32\\n %53 = icmp eq i32 %52, 8\\n %54 = getelementptr inbounds i64, i64* %44, i64 2\\n %55 = load i64, i64* %54, align 8, !tbaa !271\\n %56 = trunc i64 %55 to i32\\n %57 = icmp eq i32 %56, 8\\n %58 = getelementptr inbounds i64, i64* %44, i64 3\\n %59 = load i64, i64* %58, align 8, !tbaa !274\\n %60 = trunc i64 %59 to i32\\n %61 = icmp eq i32 %60, 1\\n %62 = and i1 %57, %61\\n %63 = and i1 %53, %62\\n %64 = and i1 %49, %63\\n br i1 %64, label %if_end4, label %assert_fail5, !prof !1\\n\\nif_end4: ; preds = %if_end, %if_then3\\n switch i32 %8, label %assert_fail7 [\\n i32 13, label %assert_end8\\n i32 7, label %assert_end8\\n i32 4, label %assert_end8\\n i32 3, label %assert_end8\\n ]\\n\\nassert_fail5: ; preds = %if_then3\\n %65 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %65(i8* getelementptr inbounds ([192 x i8], [192 x i8]* @.str.38, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_fail7: ; preds = %if_end4\\n %66 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %66(i8* getelementptr inbounds ([152 x i8], [152 x i8]* @.str.39, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end8: ; preds = %if_end4, %if_end4, %if_end4, %if_end4\\n switch i32 %14, label %assert_fail9 [\\n i32 13, label %assert_end10\\n i32 7, label %assert_end10\\n i32 4, label %assert_end10\\n i32 3, label %assert_end10\\n ]\\n\\nassert_fail9: ; preds = %assert_end8\\n %67 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %67(i8* getelementptr inbounds ([152 x i8], [152 x i8]* @.str.40, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end10: ; preds = %assert_end8, %assert_end8, %assert_end8, %assert_end8\\n %68 = icmp eq i32 %36, 1\\n br i1 %68, label %assert_end12, label %assert_fail11, !prof !1\\n\\nassert_fail11: ; preds = %assert_end10\\n %69 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %69(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.5, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end12: ; preds = %assert_end10\\n %70 = getelementptr inbounds %1, %1* %6, i64 0, i32 2\\n %71 = load i32, i32* %70, align 4\\n %72 = icmp eq i32 %71, 3\\n br i1 %72, label %assert_end14, label %assert_fail13, !prof !1\\n\\nassert_fail13: ; preds = %assert_end12\\n %73 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %73(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.41, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end14: ; preds = %assert_end12\\n %74 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 2\\n %75 = load i16, i16* %74, align 2\\n %76 = icmp eq i16 %75, 1\\n %77 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 1\\n %78 = load i8, i8* %77, align 1\\n %79 = icmp eq i8 %78, 32\\n %80 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 0\\n %81 = load i8, i8* %80, align 1\\n %82 = icmp eq i8 %81, 2\\n %83 = and i1 %79, %82\\n %84 = and i1 %76, %83\\n br i1 %84, label %assert_end16, label %assert_fail15, !prof !1\\n\\nassert_fail15: ; preds = %assert_end14\\n %85 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %85(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.7, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end16: ; preds = %assert_end14\\n %86 = load i64, i64* %18, align 8, !tbaa !276\\n %87 = trunc i64 %86 to i32\\n %88 = icmp eq i32 %87, 8\\n br i1 %88, label %assert_end18, label %assert_fail17, !prof !1\\n\\nassert_fail17: ; preds = %assert_end16\\n %89 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %89(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.42, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end18: ; preds = %assert_end16\\n %90 = getelementptr inbounds i64, i64* %18, i64 1\\n %91 = load i64, i64* %90, align 8, !tbaa !290\\n %92 = trunc i64 %91 to i32\\n %93 = icmp eq i32 %92, 1\\n br i1 %93, label %assert_end20, label %assert_fail19, !prof !1\\n\\nassert_fail19: ; preds = %assert_end18\\n %94 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %94(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.43, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end20: ; preds = %assert_end18\\n %95 = getelementptr inbounds i64, i64* %18, i64 2\\n %96 = load i64, i64* %95, align 8, !tbaa !292\\n %97 = trunc i64 %96 to i32\\n %98 = icmp eq i32 %97, 1\\n br i1 %98, label %assert_end22, label %assert_fail21, !prof !1\\n\\nassert_fail21: ; preds = %assert_end20\\n %99 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %99(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.44, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end22: ; preds = %assert_end20\\n %100 = getelementptr inbounds %1, %1* %6, i64 0, i32 6\\n %101 = load i64, i64* %100, align 8\\n %102 = icmp eq i64 %101, 0\\n br i1 %102, label %assert_end24, label %assert_fail23, !prof !1\\n\\nassert_fail23: ; preds = %assert_end22\\n %103 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %103(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.12, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end24: ; preds = %assert_end22\\n %104 = getelementptr inbounds %1, %1* %11, i64 0, i32 2\\n %105 = load i32, i32* %104, align 4\\n %106 = icmp eq i32 %105, 4\\n br i1 %106, label %assert_end26, label %assert_fail25, !prof !1\\n\\nassert_fail25: ; preds = %assert_end24\\n %107 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %107(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.45, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end26: ; preds = %assert_end24\\n %108 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 2\\n %109 = load i16, i16* %108, align 2\\n %110 = icmp eq i16 %109, 1\\n %111 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 1\\n %112 = load i8, i8* %111, align 1\\n %113 = icmp eq i8 %112, 32\\n %114 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 0\\n %115 = load i8, i8* %114, align 1\\n %116 = icmp eq i8 %115, 2\\n %117 = and i1 %113, %116\\n %118 = and i1 %110, %117\\n br i1 %118, label %assert_end28, label %assert_fail27, !prof !1\\n\\nassert_fail27: ; preds = %assert_end26\\n %119 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %119(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.14, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end28: ; preds = %assert_end26\\n %120 = load i64, i64* %42, align 8, !tbaa !295\\n %121 = trunc i64 %120 to i32\\n %122 = icmp eq i32 %121, 1\\n br i1 %122, label %assert_end30, label %assert_fail29, !prof !1\\n\\nassert_fail29: ; preds = %assert_end28\\n %123 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %123(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.46, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end30: ; preds = %assert_end28\\n %124 = getelementptr inbounds i64, i64* %42, i64 1\\n %125 = load i64, i64* %124, align 8, !tbaa !309\\n %126 = trunc i64 %125 to i32\\n %127 = icmp eq i32 %126, 1\\n br i1 %127, label %assert_end32, label %assert_fail31, !prof !1\\n\\nassert_fail31: ; preds = %assert_end30\\n %128 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %128(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.30, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end32: ; preds = %assert_end30\\n %129 = getelementptr inbounds i64, i64* %42, i64 2\\n %130 = load i64, i64* %129, align 8, !tbaa !311\\n %131 = trunc i64 %130 to i32\\n %132 = icmp eq i32 %131, 1\\n br i1 %132, label %assert_end34, label %assert_fail33, !prof !1\\n\\nassert_fail33: ; preds = %assert_end32\\n %133 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %133(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.47, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end34: ; preds = %assert_end32\\n %134 = getelementptr inbounds i64, i64* %42, i64 3\\n %135 = load i64, i64* %134, align 8, !tbaa !314\\n %136 = trunc i64 %135 to i32\\n %137 = icmp eq i32 %136, 8\\n br i1 %137, label %assert_end36, label %assert_fail35, !prof !1\\n\\nassert_fail35: ; preds = %assert_end34\\n %138 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %138(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.48, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end36: ; preds = %assert_end34\\n %139 = getelementptr inbounds %1, %1* %11, i64 0, i32 6\\n %140 = load i64, i64* %139, align 8\\n %141 = icmp eq i64 %140, 0\\n br i1 %141, label %assert_end38, label %assert_fail37, !prof !1\\n\\nassert_fail37: ; preds = %assert_end36\\n %142 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %142(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.17, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end38: ; preds = %assert_end36\\n %143 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 0\\n %144 = load i32, i32* %143, align 4\\n %145 = icmp eq i32 %144, 1\\n br i1 %145, label %assert_end40, label %assert_fail39, !prof !1\\n\\nassert_fail39: ; preds = %assert_end38\\n %146 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %146(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.18, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end40: ; preds = %assert_end38\\n %147 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 1\\n %148 = load i32, i32* %147, align 4\\n %149 = icmp eq i32 %38, %148\\n br i1 %149, label %assert_end42, label %assert_fail41, !prof !1\\n\\nassert_fail41: ; preds = %assert_end40\\n %150 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %150(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.19, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end42: ; preds = %assert_end40\\n tail call fastcc void @fused_layout_transform_1_compute_(i8* %40, i8* %16)\\n ret i32 0\\n}\\n\\n; Function Attrs: noinline norecurse nounwind\\ndefine private fastcc void @fused_layout_transform_1_compute_(i8* noalias nocapture, i8* noalias nocapture readonly) unnamed_addr #2 {\\nentry:\\n call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %1, i64 32, i32 4, i1 false)\\n ret void\\n}\\n\\ndefine dllexport i32 @fused_layout_transform_4(i8* noalias nocapture readonly, i8* noalias nocapture readonly, i32) local_unnamed_addr {\\nentry:\\n %3 = icmp eq i32 %2, 2\\n br i1 %3, label %assert_end, label %assert_fail, !prof !1\\n\\nassert_fail: ; preds = %entry\\n %4 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %4(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.49, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end: ; preds = %entry\\n %5 = bitcast i8* %0 to %1**\\n %6 = load %1*, %1** %5, align 8\\n %7 = bitcast i8* %1 to i32*\\n %8 = load i32, i32* %7, align 4, !tbaa !316\\n %9 = getelementptr inbounds i8, i8* %0, i64 8\\n %10 = bitcast i8* %9 to %1**\\n %11 = load %1*, %1** %10, align 8\\n %12 = getelementptr inbounds i8, i8* %1, i64 4\\n %13 = bitcast i8* %12 to i32*\\n %14 = load i32, i32* %13, align 4, !tbaa !330\\n %15 = getelementptr inbounds %1, %1* %6, i64 0, i32 0\\n %16 = load i8*, i8** %15, align 8\\n %17 = getelementptr inbounds %1, %1* %6, i64 0, i32 4\\n %18 = load i64*, i64** %17, align 8\\n %19 = getelementptr inbounds %1, %1* %6, i64 0, i32 5\\n %20 = load i64*, i64** %19, align 8\\n %21 = icmp eq i64* %20, null\\n br i1 %21, label %if_end, label %if_then, !prof !21\\n\\nif_then: ; preds = %assert_end\\n %22 = load i64, i64* %20, align 8, !tbaa !332\\n %23 = trunc i64 %22 to i32\\n %24 = icmp eq i32 %23, 784\\n %25 = getelementptr inbounds i64, i64* %20, i64 1\\n %26 = load i64, i64* %25, align 8, !tbaa !346\\n %27 = trunc i64 %26 to i32\\n %28 = icmp eq i32 %27, 784\\n %29 = getelementptr inbounds i64, i64* %20, i64 2\\n %30 = load i64, i64* %29, align 8, !tbaa !348\\n %31 = trunc i64 %30 to i32\\n %32 = icmp eq i32 %31, 28\\n %33 = getelementptr inbounds i64, i64* %20, i64 3\\n %34 = load i64, i64* %33, align 8, !tbaa !351\\n %35 = trunc i64 %34 to i32\\n %36 = icmp eq i32 %35, 1\\n %37 = and i1 %32, %36\\n %38 = and i1 %28, %37\\n %39 = and i1 %24, %38\\n br i1 %39, label %if_end, label %assert_fail1, !prof !1\\n\\nif_end: ; preds = %assert_end, %if_then\\n %40 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 0\\n %41 = load i32, i32* %40, align 4\\n %42 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 1\\n %43 = load i32, i32* %42, align 4\\n %44 = getelementptr inbounds %1, %1* %11, i64 0, i32 0\\n %45 = load i8*, i8** %44, align 8\\n %46 = getelementptr inbounds %1, %1* %11, i64 0, i32 4\\n %47 = load i64*, i64** %46, align 8\\n %48 = getelementptr inbounds %1, %1* %11, i64 0, i32 5\\n %49 = load i64*, i64** %48, align 8\\n %50 = icmp eq i64* %49, null\\n br i1 %50, label %if_end4, label %if_then3, !prof !21\\n\\nassert_fail1: ; preds = %if_then\\n %51 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %51(i8* getelementptr inbounds ([197 x i8], [197 x i8]* @.str.50, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then3: ; preds = %if_end\\n %52 = load i64, i64* %49, align 8, !tbaa !353\\n %53 = trunc i64 %52 to i32\\n %54 = icmp eq i32 %53, 784\\n %55 = getelementptr inbounds i64, i64* %49, i64 1\\n %56 = load i64, i64* %55, align 8, !tbaa !367\\n %57 = trunc i64 %56 to i32\\n %58 = icmp eq i32 %57, 784\\n %59 = getelementptr inbounds i64, i64* %49, i64 2\\n %60 = load i64, i64* %59, align 8, !tbaa !369\\n %61 = trunc i64 %60 to i32\\n %62 = icmp eq i32 %61, 28\\n %63 = getelementptr inbounds i64, i64* %49, i64 3\\n %64 = load i64, i64* %63, align 8, !tbaa !372\\n %65 = trunc i64 %64 to i32\\n %66 = icmp eq i32 %65, 1\\n %67 = getelementptr inbounds i64, i64* %49, i64 4\\n %68 = load i64, i64* %67, align 8, !tbaa !374\\n %69 = trunc i64 %68 to i32\\n %70 = icmp eq i32 %69, 1\\n %71 = and i1 %66, %70\\n %72 = and i1 %62, %71\\n %73 = and i1 %58, %72\\n %74 = and i1 %54, %73\\n br i1 %74, label %if_end4, label %assert_fail5, !prof !1\\n\\nif_end4: ; preds = %if_end, %if_then3\\n switch i32 %8, label %assert_fail7 [\\n i32 13, label %assert_end8\\n i32 7, label %assert_end8\\n i32 4, label %assert_end8\\n i32 3, label %assert_end8\\n ]\\n\\nassert_fail5: ; preds = %if_then3\\n %75 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %75(i8* getelementptr inbounds ([232 x i8], [232 x i8]* @.str.51, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_fail7: ; preds = %if_end4\\n %76 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %76(i8* getelementptr inbounds ([152 x i8], [152 x i8]* @.str.52, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end8: ; preds = %if_end4, %if_end4, %if_end4, %if_end4\\n switch i32 %14, label %assert_fail9 [\\n i32 13, label %assert_end10\\n i32 7, label %assert_end10\\n i32 4, label %assert_end10\\n i32 3, label %assert_end10\\n ]\\n\\nassert_fail9: ; preds = %assert_end8\\n %77 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %77(i8* getelementptr inbounds ([152 x i8], [152 x i8]* @.str.53, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end10: ; preds = %assert_end8, %assert_end8, %assert_end8, %assert_end8\\n %78 = icmp eq i32 %41, 1\\n br i1 %78, label %assert_end12, label %assert_fail11, !prof !1\\n\\nassert_fail11: ; preds = %assert_end10\\n %79 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %79(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.5, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end12: ; preds = %assert_end10\\n %80 = getelementptr inbounds %1, %1* %6, i64 0, i32 2\\n %81 = load i32, i32* %80, align 4\\n %82 = icmp eq i32 %81, 4\\n br i1 %82, label %assert_end14, label %assert_fail13, !prof !1\\n\\nassert_fail13: ; preds = %assert_end12\\n %83 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %83(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.6, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end14: ; preds = %assert_end12\\n %84 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 2\\n %85 = load i16, i16* %84, align 2\\n %86 = icmp eq i16 %85, 1\\n %87 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 1\\n %88 = load i8, i8* %87, align 1\\n %89 = icmp eq i8 %88, 32\\n %90 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 0\\n %91 = load i8, i8* %90, align 1\\n %92 = icmp eq i8 %91, 2\\n %93 = and i1 %89, %92\\n %94 = and i1 %86, %93\\n br i1 %94, label %assert_end16, label %assert_fail15, !prof !1\\n\\nassert_fail15: ; preds = %assert_end14\\n %95 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %95(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.7, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end16: ; preds = %assert_end14\\n %96 = load i64, i64* %18, align 8, !tbaa !378\\n %97 = trunc i64 %96 to i32\\n %98 = icmp eq i32 %97, 1\\n br i1 %98, label %assert_end18, label %assert_fail17, !prof !1\\n\\nassert_fail17: ; preds = %assert_end16\\n %99 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %99(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.54, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end18: ; preds = %assert_end16\\n %100 = getelementptr inbounds i64, i64* %18, i64 1\\n %101 = load i64, i64* %100, align 8, !tbaa !392\\n %102 = trunc i64 %101 to i32\\n %103 = icmp eq i32 %102, 1\\n br i1 %103, label %assert_end20, label %assert_fail19, !prof !1\\n\\nassert_fail19: ; preds = %assert_end18\\n %104 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %104(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.43, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end20: ; preds = %assert_end18\\n %105 = getelementptr inbounds i64, i64* %18, i64 2\\n %106 = load i64, i64* %105, align 8, !tbaa !394\\n %107 = trunc i64 %106 to i32\\n %108 = icmp eq i32 %107, 28\\n br i1 %108, label %assert_end22, label %assert_fail21, !prof !1\\n\\nassert_fail21: ; preds = %assert_end20\\n %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %109(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.55, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end22: ; preds = %assert_end20\\n %110 = getelementptr inbounds i64, i64* %18, i64 3\\n %111 = load i64, i64* %110, align 8, !tbaa !397\\n %112 = trunc i64 %111 to i32\\n %113 = icmp eq i32 %112, 28\\n br i1 %113, label %assert_end24, label %assert_fail23, !prof !1\\n\\nassert_fail23: ; preds = %assert_end22\\n %114 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %114(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.56, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end24: ; preds = %assert_end22\\n %115 = getelementptr inbounds %1, %1* %6, i64 0, i32 6\\n %116 = load i64, i64* %115, align 8\\n %117 = icmp eq i64 %116, 0\\n br i1 %117, label %assert_end26, label %assert_fail25, !prof !1\\n\\nassert_fail25: ; preds = %assert_end24\\n %118 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %118(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.12, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end26: ; preds = %assert_end24\\n %119 = getelementptr inbounds %1, %1* %11, i64 0, i32 2\\n %120 = load i32, i32* %119, align 4\\n %121 = icmp eq i32 %120, 5\\n br i1 %121, label %assert_end28, label %assert_fail27, !prof !1\\n\\nassert_fail27: ; preds = %assert_end26\\n %122 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %122(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.57, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end28: ; preds = %assert_end26\\n %123 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 2\\n %124 = load i16, i16* %123, align 2\\n %125 = icmp eq i16 %124, 1\\n %126 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 1\\n %127 = load i8, i8* %126, align 1\\n %128 = icmp eq i8 %127, 32\\n %129 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 0\\n %130 = load i8, i8* %129, align 1\\n %131 = icmp eq i8 %130, 2\\n %132 = and i1 %128, %131\\n %133 = and i1 %125, %132\\n br i1 %133, label %assert_end30, label %assert_fail29, !prof !1\\n\\nassert_fail29: ; preds = %assert_end28\\n %134 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %134(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.14, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end30: ; preds = %assert_end28\\n %135 = load i64, i64* %47, align 8, !tbaa !399\\n %136 = trunc i64 %135 to i32\\n %137 = icmp eq i32 %136, 1\\n br i1 %137, label %assert_end32, label %assert_fail31, !prof !1\\n\\nassert_fail31: ; preds = %assert_end30\\n %138 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %138(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.46, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end32: ; preds = %assert_end30\\n %139 = getelementptr inbounds i64, i64* %47, i64 1\\n %140 = load i64, i64* %139, align 8, !tbaa !413\\n %141 = trunc i64 %140 to i32\\n %142 = icmp eq i32 %141, 1\\n br i1 %142, label %assert_end34, label %assert_fail33, !prof !1\\n\\nassert_fail33: ; preds = %assert_end32\\n %143 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %143(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.30, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end34: ; preds = %assert_end32\\n %144 = getelementptr inbounds i64, i64* %47, i64 2\\n %145 = load i64, i64* %144, align 8, !tbaa !415\\n %146 = trunc i64 %145 to i32\\n %147 = icmp eq i32 %146, 28\\n br i1 %147, label %assert_end36, label %assert_fail35, !prof !1\\n\\nassert_fail35: ; preds = %assert_end34\\n %148 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %148(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.58, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end36: ; preds = %assert_end34\\n %149 = getelementptr inbounds i64, i64* %47, i64 3\\n %150 = load i64, i64* %149, align 8, !tbaa !418\\n %151 = trunc i64 %150 to i32\\n %152 = icmp eq i32 %151, 28\\n br i1 %152, label %assert_end38, label %assert_fail37, !prof !1\\n\\nassert_fail37: ; preds = %assert_end36\\n %153 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %153(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.59, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end38: ; preds = %assert_end36\\n %154 = getelementptr inbounds i64, i64* %47, i64 4\\n %155 = load i64, i64* %154, align 8, !tbaa !420\\n %156 = trunc i64 %155 to i32\\n %157 = icmp eq i32 %156, 1\\n br i1 %157, label %assert_end40, label %assert_fail39, !prof !1\\n\\nassert_fail39: ; preds = %assert_end38\\n %158 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %158(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.60, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end40: ; preds = %assert_end38\\n %159 = getelementptr inbounds %1, %1* %11, i64 0, i32 6\\n %160 = load i64, i64* %159, align 8\\n %161 = icmp eq i64 %160, 0\\n br i1 %161, label %assert_end42, label %assert_fail41, !prof !1\\n\\nassert_fail41: ; preds = %assert_end40\\n %162 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %162(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.17, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end42: ; preds = %assert_end40\\n %163 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 0\\n %164 = load i32, i32* %163, align 4\\n %165 = icmp eq i32 %164, 1\\n br i1 %165, label %assert_end44, label %assert_fail43, !prof !1\\n\\nassert_fail43: ; preds = %assert_end42\\n %166 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %166(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.18, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end44: ; preds = %assert_end42\\n %167 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 1\\n %168 = load i32, i32* %167, align 4\\n %169 = icmp eq i32 %43, %168\\n br i1 %169, label %assert_end46, label %assert_fail45, !prof !1\\n\\nassert_fail45: ; preds = %assert_end44\\n %170 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %170(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.19, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end46: ; preds = %assert_end44\\n %171 = tail call fastcc i32 @fused_layout_transform_4_compute_(i8* %45, i8* %16)\\n ret i32 %171\\n}\\n\\n; Function Attrs: noinline\\ndefine private fastcc i32 @fused_layout_transform_4_compute_(i8* noalias, i8* noalias) unnamed_addr #0 {\\nentry:\\n %2 = alloca %6, align 8\\n %3 = getelementptr inbounds %6, %6* %2, i64 0, i32 0\\n store i8* %0, i8** %3, align 8\\n %4 = getelementptr inbounds %6, %6* %2, i64 0, i32 1\\n store i8* %1, i8** %4, align 8\\n %5 = bitcast %6* %2 to i8*\\n %6 = load i32 (i32 (i32, %0*, i8*)*, i8*, i32)*, i32 (i32 (i32, %0*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !2\\n %7 = call i32 %6(i32 (i32, %0*, i8*)* nonnull @__tvm_parallel_lambda.61, i8* nonnull %5, i32 0)\\n ret i32 %7\\n}\\n\\n; Function Attrs: norecurse nounwind\\ndefine private i32 @__tvm_parallel_lambda.61(i32, %0* nocapture readonly, i8* nocapture readonly) #1 {\\nentry:\\n %3 = bitcast i8* %2 to float**\\n %4 = load float*, float** %3, align 8\\n %5 = getelementptr inbounds i8, i8* %2, i64 8\\n %6 = bitcast i8* %5 to float**\\n %7 = load float*, float** %6, align 8\\n %8 = getelementptr inbounds %0, %0* %1, i64 0, i32 1\\n %9 = load i32, i32* %8, align 4\\n %10 = add nsw i32 %9, 27\\n %11 = sdiv i32 %10, %9\\n %12 = add nsw i32 %0, 1\\n %13 = mul nsw i32 %11, %12\\n %14 = icmp slt i32 %13, 28\\n %15 = select i1 %14, i32 %13, i32 28\\n %16 = mul nsw i32 %11, %0\\n %17 = icmp slt i32 %16, 28\\n %18 = select i1 %17, i32 %16, i32 28\\n %19 = icmp slt i32 %18, %15\\n br i1 %19, label %for_body.lr.ph, label %for_end, !prof !1\\n\\nfor_body.lr.ph: ; preds = %entry\\n %20 = add i32 %18, 1\\n %21 = sext i32 %20 to i64\\n %22 = add nsw i64 %21, -1\\n %23 = sext i32 %15 to i64\\n br label %for_body\\n\\nfor_body: ; preds = %for_body.lr.ph, %for_body\\n %indvars.iv = phi i64 [ %22, %for_body.lr.ph ], [ %indvars.iv.next, %for_body ]\\n %24 = mul nsw i64 %indvars.iv, 28\\n %25 = getelementptr inbounds float, float* %7, i64 %24\\n %26 = getelementptr inbounds float, float* %4, i64 %24\\n %27 = bitcast float* %25 to <4 x i32>*\\n %28 = load <4 x i32>, <4 x i32>* %27, align 4, !tbaa !424\\n %29 = bitcast float* %26 to <4 x i32>*\\n store <4 x i32> %28, <4 x i32>* %29, align 4, !tbaa !427\\n %30 = add nsw i64 %24, 4\\n %31 = getelementptr inbounds float, float* %7, i64 %30\\n %32 = getelementptr inbounds float, float* %4, i64 %30\\n %33 = bitcast float* %31 to <4 x i32>*\\n %34 = load <4 x i32>, <4 x i32>* %33, align 4, !tbaa !424\\n %35 = bitcast float* %32 to <4 x i32>*\\n store <4 x i32> %34, <4 x i32>* %35, align 4, !tbaa !427\\n %36 = add nsw i64 %24, 8\\n %37 = getelementptr inbounds float, float* %7, i64 %36\\n %38 = getelementptr inbounds float, float* %4, i64 %36\\n %39 = bitcast float* %37 to <4 x i32>*\\n %40 = load <4 x i32>, <4 x i32>* %39, align 4, !tbaa !424\\n %41 = bitcast float* %38 to <4 x i32>*\\n store <4 x i32> %40, <4 x i32>* %41, align 4, !tbaa !427\\n %42 = add nsw i64 %24, 12\\n %43 = getelementptr inbounds float, float* %7, i64 %42\\n %44 = getelementptr inbounds float, float* %4, i64 %42\\n %45 = bitcast float* %43 to <4 x i32>*\\n %46 = load <4 x i32>, <4 x i32>* %45, align 4, !tbaa !424\\n %47 = bitcast float* %44 to <4 x i32>*\\n store <4 x i32> %46, <4 x i32>* %47, align 4, !tbaa !427\\n %48 = add nsw i64 %24, 16\\n %49 = getelementptr inbounds float, float* %7, i64 %48\\n %50 = getelementptr inbounds float, float* %4, i64 %48\\n %51 = bitcast float* %49 to <4 x i32>*\\n %52 = load <4 x i32>, <4 x i32>* %51, align 4, !tbaa !424\\n %53 = bitcast float* %50 to <4 x i32>*\\n store <4 x i32> %52, <4 x i32>* %53, align 4, !tbaa !427\\n %54 = add nsw i64 %24, 20\\n %55 = getelementptr inbounds float, float* %7, i64 %54\\n %56 = getelementptr inbounds float, float* %4, i64 %54\\n %57 = bitcast float* %55 to <4 x i32>*\\n %58 = load <4 x i32>, <4 x i32>* %57, align 4, !tbaa !424\\n %59 = bitcast float* %56 to <4 x i32>*\\n store <4 x i32> %58, <4 x i32>* %59, align 4, !tbaa !427\\n %60 = add nsw i64 %24, 24\\n %61 = getelementptr inbounds float, float* %7, i64 %60\\n %62 = getelementptr inbounds float, float* %4, i64 %60\\n %63 = bitcast float* %61 to <4 x i32>*\\n %64 = load <4 x i32>, <4 x i32>* %63, align 4, !tbaa !424\\n %65 = bitcast float* %62 to <4 x i32>*\\n store <4 x i32> %64, <4 x i32>* %65, align 4, !tbaa !427\\n %indvars.iv.next = add nsw i64 %indvars.iv, 1\\n %66 = icmp slt i64 %indvars.iv.next, %23\\n br i1 %66, label %for_body, label %for_end, !prof !1\\n\\nfor_end: ; preds = %for_body, %entry\\n ret i32 0\\n}\\n\\ndefine dllexport i32 @fused_reshape_1(i8* noalias nocapture readonly, i8* noalias nocapture readonly, i32) local_unnamed_addr {\\nentry:\\n %3 = icmp eq i32 %2, 2\\n br i1 %3, label %assert_end, label %assert_fail, !prof !1\\n\\nassert_fail: ; preds = %entry\\n %4 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %4(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.62, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end: ; preds = %entry\\n %5 = bitcast i8* %0 to %1**\\n %6 = load %1*, %1** %5, align 8\\n %7 = bitcast i8* %1 to i32*\\n %8 = load i32, i32* %7, align 4, !tbaa !430\\n %9 = getelementptr inbounds i8, i8* %0, i64 8\\n %10 = bitcast i8* %9 to %1**\\n %11 = load %1*, %1** %10, align 8\\n %12 = getelementptr inbounds i8, i8* %1, i64 4\\n %13 = bitcast i8* %12 to i32*\\n %14 = load i32, i32* %13, align 4, !tbaa !444\\n %15 = getelementptr inbounds %1, %1* %6, i64 0, i32 0\\n %16 = load i8*, i8** %15, align 8\\n %17 = getelementptr inbounds %1, %1* %6, i64 0, i32 4\\n %18 = load i64*, i64** %17, align 8\\n %19 = getelementptr inbounds %1, %1* %6, i64 0, i32 5\\n %20 = load i64*, i64** %19, align 8\\n %21 = icmp eq i64* %20, null\\n br i1 %21, label %if_end, label %if_then, !prof !21\\n\\nif_then: ; preds = %assert_end\\n %22 = load i64, i64* %20, align 8, !tbaa !446\\n %23 = trunc i64 %22 to i32\\n %24 = icmp eq i32 %23, 64\\n %25 = getelementptr inbounds i64, i64* %20, i64 1\\n %26 = load i64, i64* %25, align 8, !tbaa !460\\n %27 = trunc i64 %26 to i32\\n %28 = icmp eq i32 %27, 32\\n %29 = getelementptr inbounds i64, i64* %20, i64 2\\n %30 = load i64, i64* %29, align 8, !tbaa !462\\n %31 = trunc i64 %30 to i32\\n %32 = icmp eq i32 %31, 16\\n %33 = getelementptr inbounds i64, i64* %20, i64 3\\n %34 = load i64, i64* %33, align 8, !tbaa !465\\n %35 = trunc i64 %34 to i32\\n %36 = icmp eq i32 %35, 8\\n %37 = getelementptr inbounds i64, i64* %20, i64 4\\n %38 = load i64, i64* %37, align 8, !tbaa !467\\n %39 = trunc i64 %38 to i32\\n %40 = icmp eq i32 %39, 1\\n %41 = and i1 %36, %40\\n %42 = and i1 %32, %41\\n %43 = and i1 %28, %42\\n %44 = and i1 %24, %43\\n br i1 %44, label %if_end, label %assert_fail1, !prof !1\\n\\nif_end: ; preds = %assert_end, %if_then\\n %45 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 0\\n %46 = load i32, i32* %45, align 4\\n %47 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 1\\n %48 = load i32, i32* %47, align 4\\n %49 = getelementptr inbounds %1, %1* %11, i64 0, i32 0\\n %50 = load i8*, i8** %49, align 8\\n %51 = getelementptr inbounds %1, %1* %11, i64 0, i32 4\\n %52 = load i64*, i64** %51, align 8\\n %53 = getelementptr inbounds %1, %1* %11, i64 0, i32 5\\n %54 = load i64*, i64** %53, align 8\\n %55 = icmp eq i64* %54, null\\n br i1 %55, label %if_end4, label %if_then3, !prof !21\\n\\nassert_fail1: ; preds = %if_then\\n %56 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %56(i8* getelementptr inbounds ([230 x i8], [230 x i8]* @.str.63, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then3: ; preds = %if_end\\n %57 = load i64, i64* %54, align 8, !tbaa !471\\n %58 = trunc i64 %57 to i32\\n %59 = icmp eq i32 %58, 256\\n %60 = getelementptr inbounds i64, i64* %54, i64 1\\n %61 = load i64, i64* %60, align 8, !tbaa !485\\n %62 = trunc i64 %61 to i32\\n %63 = icmp eq i32 %62, 1\\n %64 = and i1 %59, %63\\n br i1 %64, label %if_end4, label %assert_fail5, !prof !1\\n\\nif_end4: ; preds = %if_end, %if_then3\\n switch i32 %8, label %assert_fail7 [\\n i32 13, label %assert_end8\\n i32 7, label %assert_end8\\n i32 4, label %assert_end8\\n i32 3, label %assert_end8\\n ]\\n\\nassert_fail5: ; preds = %if_then3\\n %65 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %65(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.2, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_fail7: ; preds = %if_end4\\n %66 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %66(i8* getelementptr inbounds ([143 x i8], [143 x i8]* @.str.64, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end8: ; preds = %if_end4, %if_end4, %if_end4, %if_end4\\n switch i32 %14, label %assert_fail9 [\\n i32 13, label %assert_end10\\n i32 7, label %assert_end10\\n i32 4, label %assert_end10\\n i32 3, label %assert_end10\\n ]\\n\\nassert_fail9: ; preds = %assert_end8\\n %67 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %67(i8* getelementptr inbounds ([143 x i8], [143 x i8]* @.str.65, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end10: ; preds = %assert_end8, %assert_end8, %assert_end8, %assert_end8\\n %68 = icmp eq i32 %46, 1\\n br i1 %68, label %assert_end12, label %assert_fail11, !prof !1\\n\\nassert_fail11: ; preds = %assert_end10\\n %69 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %69(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.5, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end12: ; preds = %assert_end10\\n %70 = getelementptr inbounds %1, %1* %6, i64 0, i32 2\\n %71 = load i32, i32* %70, align 4\\n %72 = icmp eq i32 %71, 5\\n br i1 %72, label %assert_end14, label %assert_fail13, !prof !1\\n\\nassert_fail13: ; preds = %assert_end12\\n %73 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %73(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.66, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end14: ; preds = %assert_end12\\n %74 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 2\\n %75 = load i16, i16* %74, align 2\\n %76 = icmp eq i16 %75, 1\\n %77 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 1\\n %78 = load i8, i8* %77, align 1\\n %79 = icmp eq i8 %78, 32\\n %80 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 0\\n %81 = load i8, i8* %80, align 1\\n %82 = icmp eq i8 %81, 2\\n %83 = and i1 %79, %82\\n %84 = and i1 %76, %83\\n br i1 %84, label %assert_end16, label %assert_fail15, !prof !1\\n\\nassert_fail15: ; preds = %assert_end14\\n %85 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %85(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.7, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end16: ; preds = %assert_end14\\n %86 = load i64, i64* %18, align 8, !tbaa !487\\n %87 = trunc i64 %86 to i32\\n %88 = icmp eq i32 %87, 1\\n br i1 %88, label %assert_end18, label %assert_fail17, !prof !1\\n\\nassert_fail17: ; preds = %assert_end16\\n %89 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %89(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.54, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end18: ; preds = %assert_end16\\n %90 = getelementptr inbounds i64, i64* %18, i64 1\\n %91 = load i64, i64* %90, align 8, !tbaa !501\\n %92 = trunc i64 %91 to i32\\n %93 = icmp eq i32 %92, 2\\n br i1 %93, label %assert_end20, label %assert_fail19, !prof !1\\n\\nassert_fail19: ; preds = %assert_end18\\n %94 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %94(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.67, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end20: ; preds = %assert_end18\\n %95 = getelementptr inbounds i64, i64* %18, i64 2\\n %96 = load i64, i64* %95, align 8, !tbaa !503\\n %97 = trunc i64 %96 to i32\\n %98 = icmp eq i32 %97, 2\\n br i1 %98, label %assert_end22, label %assert_fail21, !prof !1\\n\\nassert_fail21: ; preds = %assert_end20\\n %99 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %99(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.68, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end22: ; preds = %assert_end20\\n %100 = getelementptr inbounds i64, i64* %18, i64 3\\n %101 = load i64, i64* %100, align 8, !tbaa !506\\n %102 = trunc i64 %101 to i32\\n %103 = icmp eq i32 %102, 2\\n br i1 %103, label %assert_end24, label %assert_fail23, !prof !1\\n\\nassert_fail23: ; preds = %assert_end22\\n %104 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %104(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.69, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end24: ; preds = %assert_end22\\n %105 = getelementptr inbounds i64, i64* %18, i64 4\\n %106 = load i64, i64* %105, align 8, !tbaa !508\\n %107 = trunc i64 %106 to i32\\n %108 = icmp eq i32 %107, 8\\n br i1 %108, label %assert_end26, label %assert_fail25, !prof !1\\n\\nassert_fail25: ; preds = %assert_end24\\n %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %109(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.70, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end26: ; preds = %assert_end24\\n %110 = getelementptr inbounds %1, %1* %6, i64 0, i32 6\\n %111 = load i64, i64* %110, align 8\\n %112 = icmp eq i64 %111, 0\\n br i1 %112, label %assert_end28, label %assert_fail27, !prof !1\\n\\nassert_fail27: ; preds = %assert_end26\\n %113 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %113(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.12, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end28: ; preds = %assert_end26\\n %114 = getelementptr inbounds %1, %1* %11, i64 0, i32 2\\n %115 = load i32, i32* %114, align 4\\n %116 = icmp eq i32 %115, 2\\n br i1 %116, label %assert_end30, label %assert_fail29, !prof !1\\n\\nassert_fail29: ; preds = %assert_end28\\n %117 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %117(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.13, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end30: ; preds = %assert_end28\\n %118 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 2\\n %119 = load i16, i16* %118, align 2\\n %120 = icmp eq i16 %119, 1\\n %121 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 1\\n %122 = load i8, i8* %121, align 1\\n %123 = icmp eq i8 %122, 32\\n %124 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 0\\n %125 = load i8, i8* %124, align 1\\n %126 = icmp eq i8 %125, 2\\n %127 = and i1 %123, %126\\n %128 = and i1 %120, %127\\n br i1 %128, label %assert_end32, label %assert_fail31, !prof !1\\n\\nassert_fail31: ; preds = %assert_end30\\n %129 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %129(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.14, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end32: ; preds = %assert_end30\\n %130 = load i64, i64* %52, align 8, !tbaa !512\\n %131 = trunc i64 %130 to i32\\n %132 = icmp eq i32 %131, 1\\n br i1 %132, label %assert_end34, label %assert_fail33, !prof !1\\n\\nassert_fail33: ; preds = %assert_end32\\n %133 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %133(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.46, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end34: ; preds = %assert_end32\\n %134 = getelementptr inbounds i64, i64* %52, i64 1\\n %135 = load i64, i64* %134, align 8, !tbaa !526\\n %136 = trunc i64 %135 to i32\\n %137 = icmp eq i32 %136, 256\\n br i1 %137, label %assert_end36, label %assert_fail35, !prof !1\\n\\nassert_fail35: ; preds = %assert_end34\\n %138 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %138(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.16, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end36: ; preds = %assert_end34\\n %139 = getelementptr inbounds %1, %1* %11, i64 0, i32 6\\n %140 = load i64, i64* %139, align 8\\n %141 = icmp eq i64 %140, 0\\n br i1 %141, label %assert_end38, label %assert_fail37, !prof !1\\n\\nassert_fail37: ; preds = %assert_end36\\n %142 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %142(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.17, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end38: ; preds = %assert_end36\\n %143 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 0\\n %144 = load i32, i32* %143, align 4\\n %145 = icmp eq i32 %144, 1\\n br i1 %145, label %assert_end40, label %assert_fail39, !prof !1\\n\\nassert_fail39: ; preds = %assert_end38\\n %146 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %146(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.18, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end40: ; preds = %assert_end38\\n %147 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 1\\n %148 = load i32, i32* %147, align 4\\n %149 = icmp eq i32 %48, %148\\n br i1 %149, label %assert_end42, label %assert_fail41, !prof !1\\n\\nassert_fail41: ; preds = %assert_end40\\n %150 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %150(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.19, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end42: ; preds = %assert_end40\\n tail call fastcc void @fused_reshape_1_compute_(i8* %50, i8* %16)\\n ret i32 0\\n}\\n\\n; Function Attrs: noinline norecurse nounwind\\ndefine private fastcc void @fused_reshape_1_compute_(i8* noalias nocapture, i8* noalias nocapture readonly) unnamed_addr #2 {\\nentry:\\n %2 = bitcast i8* %1 to float*\\n %3 = bitcast i8* %0 to float*\\n br label %for_body\\n\\nfor_body: ; preds = %for_body, %entry\\n %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for_body ]\\n %4 = and i64 %indvars.iv, 63\\n %5 = getelementptr inbounds float, float* %2, i64 %4\\n %6 = bitcast float* %5 to i32*\\n %7 = load i32, i32* %6, align 4, !tbaa !528\\n %8 = getelementptr inbounds float, float* %3, i64 %indvars.iv\\n %9 = bitcast float* %8 to i32*\\n store i32 %7, i32* %9, align 4, !tbaa !531\\n %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1\\n %exitcond = icmp eq i64 %indvars.iv.next, 256\\n br i1 %exitcond, label %for_end, label %for_body, !prof !21, !llvm.loop !534\\n\\nfor_end: ; preds = %for_body\\n ret void\\n}\\n\\ndefine dllexport i32 @fused_nn_contrib_conv2d_NCHWc_add_nn_relu_1(i8* noalias nocapture readonly, i8* noalias nocapture readonly, i32) local_unnamed_addr {\\nentry:\\n %3 = icmp eq i32 %2, 4\\n br i1 %3, label %assert_end, label %assert_fail, !prof !1\\n\\nassert_fail: ; preds = %entry\\n %4 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %4(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.71, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end: ; preds = %entry\\n %5 = bitcast i8* %0 to %1**\\n %6 = load %1*, %1** %5, align 8\\n %7 = bitcast i8* %1 to i32*\\n %8 = load i32, i32* %7, align 4, !tbaa !536\\n %9 = getelementptr inbounds i8, i8* %0, i64 8\\n %10 = bitcast i8* %9 to %1**\\n %11 = load %1*, %1** %10, align 8\\n %12 = getelementptr inbounds i8, i8* %1, i64 4\\n %13 = bitcast i8* %12 to i32*\\n %14 = load i32, i32* %13, align 4, !tbaa !550\\n %15 = getelementptr inbounds i8, i8* %0, i64 16\\n %16 = bitcast i8* %15 to %1**\\n %17 = load %1*, %1** %16, align 8\\n %18 = getelementptr inbounds i8, i8* %1, i64 8\\n %19 = bitcast i8* %18 to i32*\\n %20 = load i32, i32* %19, align 4, !tbaa !552\\n %21 = getelementptr inbounds i8, i8* %0, i64 24\\n %22 = bitcast i8* %21 to %1**\\n %23 = load %1*, %1** %22, align 8\\n %24 = getelementptr inbounds i8, i8* %1, i64 12\\n %25 = bitcast i8* %24 to i32*\\n %26 = load i32, i32* %25, align 4, !tbaa !555\\n %27 = getelementptr inbounds %1, %1* %6, i64 0, i32 0\\n %28 = load i8*, i8** %27, align 8\\n %29 = getelementptr inbounds %1, %1* %6, i64 0, i32 4\\n %30 = load i64*, i64** %29, align 8\\n %31 = getelementptr inbounds %1, %1* %6, i64 0, i32 5\\n %32 = load i64*, i64** %31, align 8\\n %33 = icmp eq i64* %32, null\\n br i1 %33, label %if_end, label %if_then, !prof !21\\n\\nif_then: ; preds = %assert_end\\n %34 = load i64, i64* %32, align 8, !tbaa !557\\n %35 = trunc i64 %34 to i32\\n %36 = icmp eq i32 %35, 784\\n %37 = getelementptr inbounds i64, i64* %32, i64 1\\n %38 = load i64, i64* %37, align 8, !tbaa !571\\n %39 = trunc i64 %38 to i32\\n %40 = icmp eq i32 %39, 784\\n %41 = getelementptr inbounds i64, i64* %32, i64 2\\n %42 = load i64, i64* %41, align 8, !tbaa !573\\n %43 = trunc i64 %42 to i32\\n %44 = icmp eq i32 %43, 28\\n %45 = getelementptr inbounds i64, i64* %32, i64 3\\n %46 = load i64, i64* %45, align 8, !tbaa !576\\n %47 = trunc i64 %46 to i32\\n %48 = icmp eq i32 %47, 1\\n %49 = getelementptr inbounds i64, i64* %32, i64 4\\n %50 = load i64, i64* %49, align 8, !tbaa !578\\n %51 = trunc i64 %50 to i32\\n %52 = icmp eq i32 %51, 1\\n %53 = and i1 %48, %52\\n %54 = and i1 %44, %53\\n %55 = and i1 %40, %54\\n %56 = and i1 %36, %55\\n br i1 %56, label %if_end, label %assert_fail1, !prof !1\\n\\nif_end: ; preds = %assert_end, %if_then\\n %57 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 0\\n %58 = load i32, i32* %57, align 4\\n %59 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 1\\n %60 = load i32, i32* %59, align 4\\n %61 = getelementptr inbounds %1, %1* %11, i64 0, i32 0\\n %62 = load i8*, i8** %61, align 8\\n %63 = getelementptr inbounds %1, %1* %11, i64 0, i32 4\\n %64 = load i64*, i64** %63, align 8\\n %65 = getelementptr inbounds %1, %1* %11, i64 0, i32 5\\n %66 = load i64*, i64** %65, align 8\\n %67 = icmp eq i64* %66, null\\n br i1 %67, label %if_end4, label %if_then3, !prof !21\\n\\nassert_fail1: ; preds = %if_then\\n %68 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %68(i8* getelementptr inbounds ([232 x i8], [232 x i8]* @.str.72, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then3: ; preds = %if_end\\n %69 = load i64, i64* %66, align 8, !tbaa !582\\n %70 = trunc i64 %69 to i32\\n %71 = icmp eq i32 %70, 200\\n %72 = getelementptr inbounds i64, i64* %66, i64 1\\n %73 = load i64, i64* %72, align 8, !tbaa !596\\n %74 = trunc i64 %73 to i32\\n %75 = icmp eq i32 %74, 200\\n %76 = getelementptr inbounds i64, i64* %66, i64 2\\n %77 = load i64, i64* %76, align 8, !tbaa !598\\n %78 = trunc i64 %77 to i32\\n %79 = icmp eq i32 %78, 40\\n %80 = getelementptr inbounds i64, i64* %66, i64 3\\n %81 = load i64, i64* %80, align 8, !tbaa !601\\n %82 = trunc i64 %81 to i32\\n %83 = icmp eq i32 %82, 8\\n %84 = getelementptr inbounds i64, i64* %66, i64 4\\n %85 = load i64, i64* %84, align 8, !tbaa !603\\n %86 = trunc i64 %85 to i32\\n %87 = icmp eq i32 %86, 8\\n %88 = getelementptr inbounds i64, i64* %66, i64 5\\n %89 = load i64, i64* %88, align 8, !tbaa !607\\n %90 = trunc i64 %89 to i32\\n %91 = icmp eq i32 %90, 1\\n %92 = and i1 %87, %91\\n %93 = and i1 %83, %92\\n %94 = and i1 %79, %93\\n %95 = and i1 %75, %94\\n %96 = and i1 %71, %95\\n br i1 %96, label %if_end4, label %assert_fail5, !prof !1\\n\\nif_end4: ; preds = %if_end, %if_then3\\n %97 = getelementptr inbounds %1, %1* %17, i64 0, i32 0\\n %98 = load i8*, i8** %97, align 8\\n %99 = getelementptr inbounds %1, %1* %17, i64 0, i32 4\\n %100 = load i64*, i64** %99, align 8\\n %101 = getelementptr inbounds %1, %1* %17, i64 0, i32 5\\n %102 = load i64*, i64** %101, align 8\\n %103 = icmp eq i64* %102, null\\n br i1 %103, label %if_end8, label %if_then7, !prof !21\\n\\nassert_fail5: ; preds = %if_then3\\n %104 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %104(i8* getelementptr inbounds ([267 x i8], [267 x i8]* @.str.73, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then7: ; preds = %if_end4\\n %105 = load i64, i64* %102, align 8, !tbaa !609\\n %106 = trunc i64 %105 to i32\\n %107 = icmp eq i32 %106, 8\\n %108 = getelementptr inbounds i64, i64* %102, i64 1\\n %109 = load i64, i64* %108, align 8, !tbaa !623\\n %110 = trunc i64 %109 to i32\\n %111 = icmp eq i32 %110, 8\\n %112 = getelementptr inbounds i64, i64* %102, i64 2\\n %113 = load i64, i64* %112, align 8, !tbaa !625\\n %114 = trunc i64 %113 to i32\\n %115 = icmp eq i32 %114, 8\\n %116 = getelementptr inbounds i64, i64* %102, i64 3\\n %117 = load i64, i64* %116, align 8, !tbaa !628\\n %118 = trunc i64 %117 to i32\\n %119 = icmp eq i32 %118, 1\\n %120 = and i1 %115, %119\\n %121 = and i1 %111, %120\\n %122 = and i1 %107, %121\\n br i1 %122, label %if_end8, label %assert_fail9, !prof !1\\n\\nif_end8: ; preds = %if_end4, %if_then7\\n %123 = getelementptr inbounds %1, %1* %23, i64 0, i32 0\\n %124 = load i8*, i8** %123, align 8\\n %125 = getelementptr inbounds %1, %1* %23, i64 0, i32 4\\n %126 = load i64*, i64** %125, align 8\\n %127 = getelementptr inbounds %1, %1* %23, i64 0, i32 5\\n %128 = load i64*, i64** %127, align 8\\n %129 = icmp eq i64* %128, null\\n br i1 %129, label %if_end12, label %if_then11, !prof !21\\n\\nassert_fail9: ; preds = %if_then7\\n %130 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %130(i8* getelementptr inbounds ([192 x i8], [192 x i8]* @.str.74, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then11: ; preds = %if_end8\\n %131 = load i64, i64* %128, align 8, !tbaa !630\\n %132 = trunc i64 %131 to i32\\n %133 = icmp eq i32 %132, 4608\\n %134 = getelementptr inbounds i64, i64* %128, i64 1\\n %135 = load i64, i64* %134, align 8, !tbaa !644\\n %136 = trunc i64 %135 to i32\\n %137 = icmp eq i32 %136, 4608\\n %138 = getelementptr inbounds i64, i64* %128, i64 2\\n %139 = load i64, i64* %138, align 8, !tbaa !646\\n %140 = trunc i64 %139 to i32\\n %141 = icmp eq i32 %140, 192\\n %142 = getelementptr inbounds i64, i64* %128, i64 3\\n %143 = load i64, i64* %142, align 8, !tbaa !649\\n %144 = trunc i64 %143 to i32\\n %145 = icmp eq i32 %144, 8\\n %146 = getelementptr inbounds i64, i64* %128, i64 4\\n %147 = load i64, i64* %146, align 8, !tbaa !651\\n %148 = trunc i64 %147 to i32\\n %149 = icmp eq i32 %148, 1\\n %150 = and i1 %145, %149\\n %151 = and i1 %141, %150\\n %152 = and i1 %137, %151\\n %153 = and i1 %133, %152\\n br i1 %153, label %if_end12, label %assert_fail13, !prof !1\\n\\nif_end12: ; preds = %if_end8, %if_then11\\n switch i32 %8, label %assert_fail15 [\\n i32 13, label %assert_end16\\n i32 7, label %assert_end16\\n i32 4, label %assert_end16\\n i32 3, label %assert_end16\\n ]\\n\\nassert_fail13: ; preds = %if_then11\\n %154 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %154(i8* getelementptr inbounds ([235 x i8], [235 x i8]* @.str.75, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_fail15: ; preds = %if_end12\\n %155 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %155(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.76, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end16: ; preds = %if_end12, %if_end12, %if_end12, %if_end12\\n switch i32 %14, label %assert_fail17 [\\n i32 13, label %assert_end18\\n i32 7, label %assert_end18\\n i32 4, label %assert_end18\\n i32 3, label %assert_end18\\n ]\\n\\nassert_fail17: ; preds = %assert_end16\\n %156 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %156(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.77, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end18: ; preds = %assert_end16, %assert_end16, %assert_end16, %assert_end16\\n switch i32 %20, label %assert_fail19 [\\n i32 13, label %assert_end20\\n i32 7, label %assert_end20\\n i32 4, label %assert_end20\\n i32 3, label %assert_end20\\n ]\\n\\nassert_fail19: ; preds = %assert_end18\\n %157 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %157(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.78, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end20: ; preds = %assert_end18, %assert_end18, %assert_end18, %assert_end18\\n switch i32 %26, label %assert_fail21 [\\n i32 13, label %assert_end22\\n i32 7, label %assert_end22\\n i32 4, label %assert_end22\\n i32 3, label %assert_end22\\n ]\\n\\nassert_fail21: ; preds = %assert_end20\\n %158 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %158(i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.79, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end22: ; preds = %assert_end20, %assert_end20, %assert_end20, %assert_end20\\n %159 = icmp eq i32 %58, 1\\n br i1 %159, label %assert_end24, label %assert_fail23, !prof !1\\n\\nassert_fail23: ; preds = %assert_end22\\n %160 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %160(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.5, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end24: ; preds = %assert_end22\\n %161 = getelementptr inbounds %1, %1* %6, i64 0, i32 2\\n %162 = load i32, i32* %161, align 4\\n %163 = icmp eq i32 %162, 5\\n br i1 %163, label %assert_end26, label %assert_fail25, !prof !1\\n\\nassert_fail25: ; preds = %assert_end24\\n %164 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %164(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.66, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end26: ; preds = %assert_end24\\n %165 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 2\\n %166 = load i16, i16* %165, align 2\\n %167 = icmp eq i16 %166, 1\\n %168 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 1\\n %169 = load i8, i8* %168, align 1\\n %170 = icmp eq i8 %169, 32\\n %171 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 0\\n %172 = load i8, i8* %171, align 1\\n %173 = icmp eq i8 %172, 2\\n %174 = and i1 %170, %173\\n %175 = and i1 %167, %174\\n br i1 %175, label %assert_end28, label %assert_fail27, !prof !1\\n\\nassert_fail27: ; preds = %assert_end26\\n %176 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %176(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.7, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end28: ; preds = %assert_end26\\n %177 = load i64, i64* %30, align 8, !tbaa !655\\n %178 = trunc i64 %177 to i32\\n %179 = icmp eq i32 %178, 1\\n br i1 %179, label %assert_end30, label %assert_fail29, !prof !1\\n\\nassert_fail29: ; preds = %assert_end28\\n %180 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %180(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.54, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end30: ; preds = %assert_end28\\n %181 = getelementptr inbounds i64, i64* %30, i64 1\\n %182 = load i64, i64* %181, align 8, !tbaa !669\\n %183 = trunc i64 %182 to i32\\n %184 = icmp eq i32 %183, 1\\n br i1 %184, label %assert_end32, label %assert_fail31, !prof !1\\n\\nassert_fail31: ; preds = %assert_end30\\n %185 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %185(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.43, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end32: ; preds = %assert_end30\\n %186 = getelementptr inbounds i64, i64* %30, i64 2\\n %187 = load i64, i64* %186, align 8, !tbaa !671\\n %188 = trunc i64 %187 to i32\\n %189 = icmp eq i32 %188, 28\\n br i1 %189, label %assert_end34, label %assert_fail33, !prof !1\\n\\nassert_fail33: ; preds = %assert_end32\\n %190 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %190(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.55, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end34: ; preds = %assert_end32\\n %191 = getelementptr inbounds i64, i64* %30, i64 3\\n %192 = load i64, i64* %191, align 8, !tbaa !674\\n %193 = trunc i64 %192 to i32\\n %194 = icmp eq i32 %193, 28\\n br i1 %194, label %assert_end36, label %assert_fail35, !prof !1\\n\\nassert_fail35: ; preds = %assert_end34\\n %195 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %195(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.56, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end36: ; preds = %assert_end34\\n %196 = getelementptr inbounds i64, i64* %30, i64 4\\n %197 = load i64, i64* %196, align 8, !tbaa !676\\n %198 = trunc i64 %197 to i32\\n %199 = icmp eq i32 %198, 1\\n br i1 %199, label %assert_end38, label %assert_fail37, !prof !1\\n\\nassert_fail37: ; preds = %assert_end36\\n %200 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %200(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.80, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end38: ; preds = %assert_end36\\n %201 = getelementptr inbounds %1, %1* %6, i64 0, i32 6\\n %202 = load i64, i64* %201, align 8\\n %203 = icmp eq i64 %202, 0\\n br i1 %203, label %assert_end40, label %assert_fail39, !prof !1\\n\\nassert_fail39: ; preds = %assert_end38\\n %204 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %204(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.12, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end40: ; preds = %assert_end38\\n %205 = getelementptr inbounds %1, %1* %11, i64 0, i32 2\\n %206 = load i32, i32* %205, align 4\\n %207 = icmp eq i32 %206, 6\\n br i1 %207, label %assert_end42, label %assert_fail41, !prof !1\\n\\nassert_fail41: ; preds = %assert_end40\\n %208 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %208(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.28, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end42: ; preds = %assert_end40\\n %209 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 2\\n %210 = load i16, i16* %209, align 2\\n %211 = icmp eq i16 %210, 1\\n %212 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 1\\n %213 = load i8, i8* %212, align 1\\n %214 = icmp eq i8 %213, 32\\n %215 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 0\\n %216 = load i8, i8* %215, align 1\\n %217 = icmp eq i8 %216, 2\\n %218 = and i1 %214, %217\\n %219 = and i1 %211, %218\\n br i1 %219, label %assert_end44, label %assert_fail43, !prof !1\\n\\nassert_fail43: ; preds = %assert_end42\\n %220 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %220(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.14, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end44: ; preds = %assert_end42\\n %221 = load i64, i64* %64, align 8, !tbaa !680\\n %222 = trunc i64 %221 to i32\\n %223 = icmp eq i32 %222, 1\\n br i1 %223, label %assert_end46, label %assert_fail45, !prof !1\\n\\nassert_fail45: ; preds = %assert_end44\\n %224 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %224(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.46, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end46: ; preds = %assert_end44\\n %225 = getelementptr inbounds i64, i64* %64, i64 1\\n %226 = load i64, i64* %225, align 8, !tbaa !694\\n %227 = trunc i64 %226 to i32\\n %228 = icmp eq i32 %227, 1\\n br i1 %228, label %assert_end48, label %assert_fail47, !prof !1\\n\\nassert_fail47: ; preds = %assert_end46\\n %229 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %229(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.30, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end48: ; preds = %assert_end46\\n %230 = getelementptr inbounds i64, i64* %64, i64 2\\n %231 = load i64, i64* %230, align 8, !tbaa !696\\n %232 = trunc i64 %231 to i32\\n %233 = icmp eq i32 %232, 5\\n br i1 %233, label %assert_end50, label %assert_fail49, !prof !1\\n\\nassert_fail49: ; preds = %assert_end48\\n %234 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %234(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.31, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end50: ; preds = %assert_end48\\n %235 = getelementptr inbounds i64, i64* %64, i64 3\\n %236 = load i64, i64* %235, align 8, !tbaa !699\\n %237 = trunc i64 %236 to i32\\n %238 = icmp eq i32 %237, 5\\n br i1 %238, label %assert_end52, label %assert_fail51, !prof !1\\n\\nassert_fail51: ; preds = %assert_end50\\n %239 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %239(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.32, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end52: ; preds = %assert_end50\\n %240 = getelementptr inbounds i64, i64* %64, i64 4\\n %241 = load i64, i64* %240, align 8, !tbaa !701\\n %242 = trunc i64 %241 to i32\\n %243 = icmp eq i32 %242, 1\\n br i1 %243, label %assert_end54, label %assert_fail53, !prof !1\\n\\nassert_fail53: ; preds = %assert_end52\\n %244 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %244(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.60, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end54: ; preds = %assert_end52\\n %245 = getelementptr inbounds i64, i64* %64, i64 5\\n %246 = load i64, i64* %245, align 8, !tbaa !705\\n %247 = trunc i64 %246 to i32\\n %248 = icmp eq i32 %247, 8\\n br i1 %248, label %assert_end56, label %assert_fail55, !prof !1\\n\\nassert_fail55: ; preds = %assert_end54\\n %249 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %249(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.34, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end56: ; preds = %assert_end54\\n %250 = getelementptr inbounds %1, %1* %11, i64 0, i32 6\\n %251 = load i64, i64* %250, align 8\\n %252 = icmp eq i64 %251, 0\\n br i1 %252, label %assert_end58, label %assert_fail57, !prof !1\\n\\nassert_fail57: ; preds = %assert_end56\\n %253 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %253(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.17, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end58: ; preds = %assert_end56\\n %254 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 0\\n %255 = load i32, i32* %254, align 4\\n %256 = icmp eq i32 %255, 1\\n br i1 %256, label %assert_end60, label %assert_fail59, !prof !1\\n\\nassert_fail59: ; preds = %assert_end58\\n %257 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %257(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.18, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end60: ; preds = %assert_end58\\n %258 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 1\\n %259 = load i32, i32* %258, align 4\\n %260 = icmp eq i32 %60, %259\\n br i1 %260, label %assert_end62, label %assert_fail61, !prof !1\\n\\nassert_fail61: ; preds = %assert_end60\\n %261 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %261(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.19, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end62: ; preds = %assert_end60\\n %262 = getelementptr inbounds %1, %1* %17, i64 0, i32 2\\n %263 = load i32, i32* %262, align 4\\n %264 = icmp eq i32 %263, 4\\n br i1 %264, label %assert_end64, label %assert_fail63, !prof !1\\n\\nassert_fail63: ; preds = %assert_end62\\n %265 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %265(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.81, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end64: ; preds = %assert_end62\\n %266 = getelementptr inbounds %1, %1* %17, i64 0, i32 3, i32 2\\n %267 = load i16, i16* %266, align 2\\n %268 = icmp eq i16 %267, 1\\n %269 = getelementptr inbounds %1, %1* %17, i64 0, i32 3, i32 1\\n %270 = load i8, i8* %269, align 1\\n %271 = icmp eq i8 %270, 32\\n %272 = getelementptr inbounds %1, %1* %17, i64 0, i32 3, i32 0\\n %273 = load i8, i8* %272, align 1\\n %274 = icmp eq i8 %273, 2\\n %275 = and i1 %271, %274\\n %276 = and i1 %268, %275\\n br i1 %276, label %assert_end66, label %assert_fail65, !prof !1\\n\\nassert_fail65: ; preds = %assert_end64\\n %277 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %277(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.82, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end66: ; preds = %assert_end64\\n %278 = load i64, i64* %100, align 8, !tbaa !707\\n %279 = trunc i64 %278 to i32\\n %280 = icmp eq i32 %279, 1\\n br i1 %280, label %assert_end68, label %assert_fail67, !prof !1\\n\\nassert_fail67: ; preds = %assert_end66\\n %281 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %281(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.83, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end68: ; preds = %assert_end66\\n %282 = getelementptr inbounds i64, i64* %100, i64 1\\n %283 = load i64, i64* %282, align 8, !tbaa !721\\n %284 = trunc i64 %283 to i32\\n %285 = icmp eq i32 %284, 1\\n br i1 %285, label %assert_end70, label %assert_fail69, !prof !1\\n\\nassert_fail69: ; preds = %assert_end68\\n %286 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %286(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.84, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end70: ; preds = %assert_end68\\n %287 = getelementptr inbounds i64, i64* %100, i64 2\\n %288 = load i64, i64* %287, align 8, !tbaa !723\\n %289 = trunc i64 %288 to i32\\n %290 = icmp eq i32 %289, 1\\n br i1 %290, label %assert_end72, label %assert_fail71, !prof !1\\n\\nassert_fail71: ; preds = %assert_end70\\n %291 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %291(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.85, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end72: ; preds = %assert_end70\\n %292 = getelementptr inbounds i64, i64* %100, i64 3\\n %293 = load i64, i64* %292, align 8, !tbaa !726\\n %294 = trunc i64 %293 to i32\\n %295 = icmp eq i32 %294, 8\\n br i1 %295, label %assert_end74, label %assert_fail73, !prof !1\\n\\nassert_fail73: ; preds = %assert_end72\\n %296 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %296(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.86, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end74: ; preds = %assert_end72\\n %297 = getelementptr inbounds %1, %1* %17, i64 0, i32 6\\n %298 = load i64, i64* %297, align 8\\n %299 = icmp eq i64 %298, 0\\n br i1 %299, label %assert_end76, label %assert_fail75, !prof !1\\n\\nassert_fail75: ; preds = %assert_end74\\n %300 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %300(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.87, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end76: ; preds = %assert_end74\\n %301 = getelementptr inbounds %1, %1* %17, i64 0, i32 1, i32 0\\n %302 = load i32, i32* %301, align 4\\n %303 = icmp eq i32 %302, 1\\n br i1 %303, label %assert_end78, label %assert_fail77, !prof !1\\n\\nassert_fail77: ; preds = %assert_end76\\n %304 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %304(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.88, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end78: ; preds = %assert_end76\\n %305 = getelementptr inbounds %1, %1* %17, i64 0, i32 1, i32 1\\n %306 = load i32, i32* %305, align 4\\n %307 = icmp eq i32 %60, %306\\n br i1 %307, label %assert_end80, label %assert_fail79, !prof !1\\n\\nassert_fail79: ; preds = %assert_end78\\n %308 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %308(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.89, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end80: ; preds = %assert_end78\\n %309 = getelementptr inbounds %1, %1* %23, i64 0, i32 2\\n %310 = load i32, i32* %309, align 4\\n %311 = icmp eq i32 %310, 5\\n br i1 %311, label %assert_end82, label %assert_fail81, !prof !1\\n\\nassert_fail81: ; preds = %assert_end80\\n %312 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %312(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.90, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end82: ; preds = %assert_end80\\n %313 = getelementptr inbounds %1, %1* %23, i64 0, i32 3, i32 2\\n %314 = load i16, i16* %313, align 2\\n %315 = icmp eq i16 %314, 1\\n %316 = getelementptr inbounds %1, %1* %23, i64 0, i32 3, i32 1\\n %317 = load i8, i8* %316, align 1\\n %318 = icmp eq i8 %317, 32\\n %319 = getelementptr inbounds %1, %1* %23, i64 0, i32 3, i32 0\\n %320 = load i8, i8* %319, align 1\\n %321 = icmp eq i8 %320, 2\\n %322 = and i1 %318, %321\\n %323 = and i1 %315, %322\\n br i1 %323, label %assert_end84, label %assert_fail83, !prof !1\\n\\nassert_fail83: ; preds = %assert_end82\\n %324 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %324(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.91, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end84: ; preds = %assert_end82\\n %325 = load i64, i64* %126, align 8, !tbaa !728\\n %326 = trunc i64 %325 to i32\\n %327 = icmp eq i32 %326, 1\\n br i1 %327, label %assert_end86, label %assert_fail85, !prof !1\\n\\nassert_fail85: ; preds = %assert_end84\\n %328 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %328(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.92, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end86: ; preds = %assert_end84\\n %329 = getelementptr inbounds i64, i64* %126, i64 1\\n %330 = load i64, i64* %329, align 8, !tbaa !742\\n %331 = trunc i64 %330 to i32\\n %332 = icmp eq i32 %331, 1\\n br i1 %332, label %assert_end88, label %assert_fail87, !prof !1\\n\\nassert_fail87: ; preds = %assert_end86\\n %333 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %333(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.93, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end88: ; preds = %assert_end86\\n %334 = getelementptr inbounds i64, i64* %126, i64 2\\n %335 = load i64, i64* %334, align 8, !tbaa !744\\n %336 = trunc i64 %335 to i32\\n %337 = icmp eq i32 %336, 24\\n br i1 %337, label %assert_end90, label %assert_fail89, !prof !1\\n\\nassert_fail89: ; preds = %assert_end88\\n %338 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %338(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.94, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end90: ; preds = %assert_end88\\n %339 = getelementptr inbounds i64, i64* %126, i64 3\\n %340 = load i64, i64* %339, align 8, !tbaa !747\\n %341 = trunc i64 %340 to i32\\n %342 = icmp eq i32 %341, 24\\n br i1 %342, label %assert_end92, label %assert_fail91, !prof !1\\n\\nassert_fail91: ; preds = %assert_end90\\n %343 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %343(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.95, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end92: ; preds = %assert_end90\\n %344 = getelementptr inbounds i64, i64* %126, i64 4\\n %345 = load i64, i64* %344, align 8, !tbaa !749\\n %346 = trunc i64 %345 to i32\\n %347 = icmp eq i32 %346, 8\\n br i1 %347, label %assert_end94, label %assert_fail93, !prof !1\\n\\nassert_fail93: ; preds = %assert_end92\\n %348 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %348(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.96, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end94: ; preds = %assert_end92\\n %349 = getelementptr inbounds %1, %1* %23, i64 0, i32 6\\n %350 = load i64, i64* %349, align 8\\n %351 = icmp eq i64 %350, 0\\n br i1 %351, label %assert_end96, label %assert_fail95, !prof !1\\n\\nassert_fail95: ; preds = %assert_end94\\n %352 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %352(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.97, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end96: ; preds = %assert_end94\\n %353 = getelementptr inbounds %1, %1* %23, i64 0, i32 1, i32 0\\n %354 = load i32, i32* %353, align 4\\n %355 = icmp eq i32 %354, 1\\n br i1 %355, label %assert_end98, label %assert_fail97, !prof !1\\n\\nassert_fail97: ; preds = %assert_end96\\n %356 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %356(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.98, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end98: ; preds = %assert_end96\\n %357 = getelementptr inbounds %1, %1* %23, i64 0, i32 1, i32 1\\n %358 = load i32, i32* %357, align 4\\n %359 = icmp eq i32 %60, %358\\n br i1 %359, label %assert_end100, label %assert_fail99, !prof !1\\n\\nassert_fail99: ; preds = %assert_end98\\n %360 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %360(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.99, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end100: ; preds = %assert_end98\\n %361 = tail call fastcc i32 @fused_nn_contrib_conv2d_NCHWc_add_nn_relu_1_compute_(i8* %28, i8* %62, i8* %124, i8* %98)\\n ret i32 %361\\n}\\n\\n; Function Attrs: noinline\\ndefine private fastcc i32 @fused_nn_contrib_conv2d_NCHWc_add_nn_relu_1_compute_(i8* noalias, i8* noalias, i8* noalias, i8* noalias) unnamed_addr #0 {\\nentry:\\n %4 = alloca %7, align 8\\n %5 = getelementptr inbounds %7, %7* %4, i64 0, i32 0\\n store i8* %0, i8** %5, align 8\\n %6 = getelementptr inbounds %7, %7* %4, i64 0, i32 1\\n store i8* %1, i8** %6, align 8\\n %7 = getelementptr inbounds %7, %7* %4, i64 0, i32 2\\n store i8* %2, i8** %7, align 8\\n %8 = getelementptr inbounds %7, %7* %4, i64 0, i32 3\\n store i8* %3, i8** %8, align 8\\n %9 = bitcast %7* %4 to i8*\\n %10 = load i32 (i32 (i32, %0*, i8*)*, i8*, i32)*, i32 (i32 (i32, %0*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !2\\n %11 = call i32 %10(i32 (i32, %0*, i8*)* nonnull @__tvm_parallel_lambda.100, i8* nonnull %9, i32 0)\\n ret i32 %11\\n}\\n\\n; Function Attrs: nounwind\\ndefine private i32 @__tvm_parallel_lambda.100(i32, %0* nocapture readonly, i8* nocapture readonly) #3 {\\nentry:\\n %3 = alloca [24 x <8 x float>], align 16\\n %.sub = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0\\n %4 = bitcast i8* %2 to float**\\n %5 = load float*, float** %4, align 8\\n %6 = getelementptr inbounds i8, i8* %2, i64 8\\n %7 = bitcast i8* %6 to float**\\n %8 = load float*, float** %7, align 8\\n %9 = getelementptr inbounds i8, i8* %2, i64 16\\n %10 = bitcast i8* %9 to float**\\n %11 = load float*, float** %10, align 8\\n %12 = getelementptr inbounds %0, %0* %1, i64 0, i32 1\\n %13 = load i32, i32* %12, align 4\\n %14 = add nsw i32 %13, 23\\n %15 = sdiv i32 %14, %13\\n %16 = add nsw i32 %0, 1\\n %17 = mul nsw i32 %15, %16\\n %18 = icmp slt i32 %17, 24\\n %19 = select i1 %18, i32 %17, i32 24\\n %20 = mul nsw i32 %15, %0\\n %21 = icmp slt i32 %20, 24\\n %22 = select i1 %21, i32 %20, i32 24\\n %23 = icmp slt i32 %22, %19\\n br i1 %23, label %for_body.lr.ph, label %for_end, !prof !1\\n\\nfor_body.lr.ph: ; preds = %entry\\n %24 = getelementptr inbounds i8, i8* %2, i64 24\\n %25 = bitcast i8* %24 to <8 x float>**\\n %26 = load <8 x float>*, <8 x float>** %25, align 8\\n %27 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 8\\n %28 = bitcast float* %27 to <8 x float>*\\n %29 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 16\\n %30 = bitcast float* %29 to <8 x float>*\\n %31 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 24\\n %32 = bitcast float* %31 to <8 x float>*\\n %33 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 32\\n %34 = bitcast float* %33 to <8 x float>*\\n %35 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 40\\n %36 = bitcast float* %35 to <8 x float>*\\n %37 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 48\\n %38 = bitcast float* %37 to <8 x float>*\\n %39 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 56\\n %40 = bitcast float* %39 to <8 x float>*\\n %41 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 64\\n %42 = bitcast float* %41 to <8 x float>*\\n %43 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 72\\n %44 = bitcast float* %43 to <8 x float>*\\n %45 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 80\\n %46 = bitcast float* %45 to <8 x float>*\\n %47 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 88\\n %48 = bitcast float* %47 to <8 x float>*\\n %49 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 96\\n %50 = bitcast float* %49 to <8 x float>*\\n %51 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 104\\n %52 = bitcast float* %51 to <8 x float>*\\n %53 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 112\\n %54 = bitcast float* %53 to <8 x float>*\\n %55 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 120\\n %56 = bitcast float* %55 to <8 x float>*\\n %57 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 128\\n %58 = bitcast float* %57 to <8 x float>*\\n %59 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 136\\n %60 = bitcast float* %59 to <8 x float>*\\n %61 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 144\\n %62 = bitcast float* %61 to <8 x float>*\\n %63 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 152\\n %64 = bitcast float* %63 to <8 x float>*\\n %65 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 160\\n %66 = bitcast float* %65 to <8 x float>*\\n %67 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 168\\n %68 = bitcast float* %67 to <8 x float>*\\n %69 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 176\\n %70 = bitcast float* %69 to <8 x float>*\\n %71 = getelementptr inbounds [24 x <8 x float>], [24 x <8 x float>]* %3, i64 0, i64 0, i64 184\\n %72 = bitcast float* %71 to <8 x float>*\\n %73 = load <8 x float>, <8 x float>* %26, align 64, !tbaa !753\\n %74 = add i32 %22, 1\\n %75 = sext i32 %74 to i64\\n %76 = add nsw i64 %75, -1\\n %77 = sext i32 %19 to i64\\n %78 = bitcast [24 x <8 x float>]* %3 to i8*\\n br label %for_body\\n\\nfor_body: ; preds = %for_body.lr.ph, %for_end3\\n %indvars.iv131 = phi i64 [ %76, %for_body.lr.ph ], [ %indvars.iv.next132, %for_end3 ]\\n call void @llvm.memset.p0i8.i64(i8* nonnull %78, i8 0, i64 768, i32 16, i1 false)\\n br label %for_body2\\n\\nfor_end: ; preds = %for_end3, %entry\\n ret i32 0\\n\\nfor_body2: ; preds = %for_end6, %for_body\\n %indvars.iv125 = phi i64 [ 0, %for_body ], [ %indvars.iv.next126, %for_end6 ]\\n %.lcssa54101 = phi <8 x float> [ zeroinitializer, %for_body ], [ %487, %for_end6 ]\\n %.lcssa5299 = phi <8 x float> [ zeroinitializer, %for_body ], [ %481, %for_end6 ]\\n %.lcssa5097 = phi <8 x float> [ zeroinitializer, %for_body ], [ %475, %for_end6 ]\\n %.lcssa4895 = phi <8 x float> [ zeroinitializer, %for_body ], [ %469, %for_end6 ]\\n %.lcssa4693 = phi <8 x float> [ zeroinitializer, %for_body ], [ %463, %for_end6 ]\\n %.lcssa4491 = phi <8 x float> [ zeroinitializer, %for_body ], [ %457, %for_end6 ]\\n %.lcssa4289 = phi <8 x float> [ zeroinitializer, %for_body ], [ %451, %for_end6 ]\\n %.lcssa4087 = phi <8 x float> [ zeroinitializer, %for_body ], [ %445, %for_end6 ]\\n %.lcssa3885 = phi <8 x float> [ zeroinitializer, %for_body ], [ %439, %for_end6 ]\\n %.lcssa3683 = phi <8 x float> [ zeroinitializer, %for_body ], [ %433, %for_end6 ]\\n %.lcssa3481 = phi <8 x float> [ zeroinitializer, %for_body ], [ %427, %for_end6 ]\\n %.lcssa3279 = phi <8 x float> [ zeroinitializer, %for_body ], [ %421, %for_end6 ]\\n %.lcssa3077 = phi <8 x float> [ zeroinitializer, %for_body ], [ %415, %for_end6 ]\\n %.lcssa2875 = phi <8 x float> [ zeroinitializer, %for_body ], [ %409, %for_end6 ]\\n %.lcssa2673 = phi <8 x float> [ zeroinitializer, %for_body ], [ %403, %for_end6 ]\\n %.lcssa2471 = phi <8 x float> [ zeroinitializer, %for_body ], [ %397, %for_end6 ]\\n %.lcssa2269 = phi <8 x float> [ zeroinitializer, %for_body ], [ %391, %for_end6 ]\\n %.lcssa2067 = phi <8 x float> [ zeroinitializer, %for_body ], [ %385, %for_end6 ]\\n %.lcssa1865 = phi <8 x float> [ zeroinitializer, %for_body ], [ %379, %for_end6 ]\\n %.lcssa1663 = phi <8 x float> [ zeroinitializer, %for_body ], [ %373, %for_end6 ]\\n %.lcssa1461 = phi <8 x float> [ zeroinitializer, %for_body ], [ %367, %for_end6 ]\\n %.lcssa1259 = phi <8 x float> [ zeroinitializer, %for_body ], [ %361, %for_end6 ]\\n %.lcssa1058 = phi <8 x float> [ zeroinitializer, %for_body ], [ %355, %for_end6 ]\\n %.lcssa56 = phi <8 x float> [ zeroinitializer, %for_body ], [ %349, %for_end6 ]\\n %79 = add nsw i64 %indvars.iv125, %indvars.iv131\\n %80 = mul nsw i64 %79, 28\\n %81 = mul nuw nsw i64 %indvars.iv125, 5\\n br label %for_body5\\n\\nfor_end3: ; preds = %for_end6\\n store <8 x float> %349, <8 x float>* %.sub, align 16, !tbaa !764\\n store <8 x float> %355, <8 x float>* %28, align 16, !tbaa !764\\n store <8 x float> %361, <8 x float>* %30, align 16, !tbaa !764\\n store <8 x float> %367, <8 x float>* %32, align 16, !tbaa !764\\n store <8 x float> %373, <8 x float>* %34, align 16, !tbaa !764\\n store <8 x float> %379, <8 x float>* %36, align 16, !tbaa !764\\n store <8 x float> %385, <8 x float>* %38, align 16, !tbaa !764\\n store <8 x float> %391, <8 x float>* %40, align 16, !tbaa !764\\n store <8 x float> %397, <8 x float>* %42, align 16, !tbaa !764\\n store <8 x float> %403, <8 x float>* %44, align 16, !tbaa !764\\n store <8 x float> %409, <8 x float>* %46, align 16, !tbaa !764\\n store <8 x float> %415, <8 x float>* %48, align 16, !tbaa !764\\n store <8 x float> %421, <8 x float>* %50, align 16, !tbaa !764\\n store <8 x float> %427, <8 x float>* %52, align 16, !tbaa !764\\n store <8 x float> %433, <8 x float>* %54, align 16, !tbaa !764\\n store <8 x float> %439, <8 x float>* %56, align 16, !tbaa !764\\n store <8 x float> %445, <8 x float>* %58, align 16, !tbaa !764\\n store <8 x float> %451, <8 x float>* %60, align 16, !tbaa !764\\n store <8 x float> %457, <8 x float>* %62, align 16, !tbaa !764\\n store <8 x float> %463, <8 x float>* %64, align 16, !tbaa !764\\n store <8 x float> %469, <8 x float>* %66, align 16, !tbaa !764\\n store <8 x float> %475, <8 x float>* %68, align 16, !tbaa !764\\n store <8 x float> %481, <8 x float>* %70, align 16, !tbaa !764\\n store <8 x float> %487, <8 x float>* %72, align 16, !tbaa !764\\n %82 = mul nsw i64 %indvars.iv131, 24\\n %83 = trunc i64 %82 to i32\\n %84 = shl nsw i32 %83, 3\\n %85 = fadd <8 x float> %73, %349\\n %86 = fcmp ogt <8 x float> %85, zeroinitializer\\n %87 = select <8 x i1> %86, <8 x float> %85, <8 x float> zeroinitializer\\n %88 = sext i32 %84 to i64\\n %89 = getelementptr inbounds float, float* %11, i64 %88\\n %90 = bitcast float* %89 to <8 x float>*\\n store <8 x float> %87, <8 x float>* %90, align 32, !tbaa !775\\n %91 = trunc i64 %82 to i32\\n %92 = shl i32 %91, 3\\n %93 = or i32 %92, 8\\n %94 = fadd <8 x float> %73, %355\\n %95 = fcmp ogt <8 x float> %94, zeroinitializer\\n %96 = select <8 x i1> %95, <8 x float> %94, <8 x float> zeroinitializer\\n %97 = sext i32 %93 to i64\\n %98 = getelementptr inbounds float, float* %11, i64 %97\\n %99 = bitcast float* %98 to <8 x float>*\\n store <8 x float> %96, <8 x float>* %99, align 32, !tbaa !775\\n %100 = trunc i64 %82 to i32\\n %101 = shl i32 %100, 3\\n %102 = or i32 %101, 16\\n %103 = fadd <8 x float> %73, %361\\n %104 = fcmp ogt <8 x float> %103, zeroinitializer\\n %105 = select <8 x i1> %104, <8 x float> %103, <8 x float> zeroinitializer\\n %106 = sext i32 %102 to i64\\n %107 = getelementptr inbounds float, float* %11, i64 %106\\n %108 = bitcast float* %107 to <8 x float>*\\n store <8 x float> %105, <8 x float>* %108, align 32, !tbaa !775\\n %109 = trunc i64 %82 to i32\\n %110 = shl i32 %109, 3\\n %111 = or i32 %110, 24\\n %112 = fadd <8 x float> %73, %367\\n %113 = fcmp ogt <8 x float> %112, zeroinitializer\\n %114 = select <8 x i1> %113, <8 x float> %112, <8 x float> zeroinitializer\\n %115 = sext i32 %111 to i64\\n %116 = getelementptr inbounds float, float* %11, i64 %115\\n %117 = bitcast float* %116 to <8 x float>*\\n store <8 x float> %114, <8 x float>* %117, align 32, !tbaa !775\\n %118 = trunc i64 %82 to i32\\n %119 = shl i32 %118, 3\\n %120 = or i32 %119, 32\\n %121 = fadd <8 x float> %73, %373\\n %122 = fcmp ogt <8 x float> %121, zeroinitializer\\n %123 = select <8 x i1> %122, <8 x float> %121, <8 x float> zeroinitializer\\n %124 = sext i32 %120 to i64\\n %125 = getelementptr inbounds float, float* %11, i64 %124\\n %126 = bitcast float* %125 to <8 x float>*\\n store <8 x float> %123, <8 x float>* %126, align 32, !tbaa !775\\n %127 = trunc i64 %82 to i32\\n %128 = shl i32 %127, 3\\n %129 = or i32 %128, 40\\n %130 = fadd <8 x float> %73, %379\\n %131 = fcmp ogt <8 x float> %130, zeroinitializer\\n %132 = select <8 x i1> %131, <8 x float> %130, <8 x float> zeroinitializer\\n %133 = sext i32 %129 to i64\\n %134 = getelementptr inbounds float, float* %11, i64 %133\\n %135 = bitcast float* %134 to <8 x float>*\\n store <8 x float> %132, <8 x float>* %135, align 32, !tbaa !775\\n %136 = trunc i64 %82 to i32\\n %137 = shl i32 %136, 3\\n %138 = or i32 %137, 48\\n %139 = fadd <8 x float> %73, %385\\n %140 = fcmp ogt <8 x float> %139, zeroinitializer\\n %141 = select <8 x i1> %140, <8 x float> %139, <8 x float> zeroinitializer\\n %142 = sext i32 %138 to i64\\n %143 = getelementptr inbounds float, float* %11, i64 %142\\n %144 = bitcast float* %143 to <8 x float>*\\n store <8 x float> %141, <8 x float>* %144, align 32, !tbaa !775\\n %145 = trunc i64 %82 to i32\\n %146 = shl i32 %145, 3\\n %147 = or i32 %146, 56\\n %148 = fadd <8 x float> %73, %391\\n %149 = fcmp ogt <8 x float> %148, zeroinitializer\\n %150 = select <8 x i1> %149, <8 x float> %148, <8 x float> zeroinitializer\\n %151 = sext i32 %147 to i64\\n %152 = getelementptr inbounds float, float* %11, i64 %151\\n %153 = bitcast float* %152 to <8 x float>*\\n store <8 x float> %150, <8 x float>* %153, align 32, !tbaa !775\\n %154 = trunc i64 %82 to i32\\n %155 = shl i32 %154, 3\\n %156 = add i32 %155, 64\\n %157 = load <8 x float>, <8 x float>* %42, align 16, !tbaa !778\\n %158 = fadd <8 x float> %73, %157\\n %159 = fcmp ogt <8 x float> %158, zeroinitializer\\n %160 = select <8 x i1> %159, <8 x float> %158, <8 x float> zeroinitializer\\n %161 = sext i32 %156 to i64\\n %162 = getelementptr inbounds float, float* %11, i64 %161\\n %163 = bitcast float* %162 to <8 x float>*\\n store <8 x float> %160, <8 x float>* %163, align 32, !tbaa !775\\n %164 = trunc i64 %82 to i32\\n %165 = shl i32 %164, 3\\n %166 = add i32 %165, 72\\n %167 = load <8 x float>, <8 x float>* %44, align 16, !tbaa !778\\n %168 = fadd <8 x float> %73, %167\\n %169 = fcmp ogt <8 x float> %168, zeroinitializer\\n %170 = select <8 x i1> %169, <8 x float> %168, <8 x float> zeroinitializer\\n %171 = sext i32 %166 to i64\\n %172 = getelementptr inbounds float, float* %11, i64 %171\\n %173 = bitcast float* %172 to <8 x float>*\\n store <8 x float> %170, <8 x float>* %173, align 32, !tbaa !775\\n %174 = trunc i64 %82 to i32\\n %175 = shl i32 %174, 3\\n %176 = add i32 %175, 80\\n %177 = load <8 x float>, <8 x float>* %46, align 16, !tbaa !778\\n %178 = fadd <8 x float> %73, %177\\n %179 = fcmp ogt <8 x float> %178, zeroinitializer\\n %180 = select <8 x i1> %179, <8 x float> %178, <8 x float> zeroinitializer\\n %181 = sext i32 %176 to i64\\n %182 = getelementptr inbounds float, float* %11, i64 %181\\n %183 = bitcast float* %182 to <8 x float>*\\n store <8 x float> %180, <8 x float>* %183, align 32, !tbaa !775\\n %184 = trunc i64 %82 to i32\\n %185 = shl i32 %184, 3\\n %186 = add i32 %185, 88\\n %187 = load <8 x float>, <8 x float>* %48, align 16, !tbaa !778\\n %188 = fadd <8 x float> %73, %187\\n %189 = fcmp ogt <8 x float> %188, zeroinitializer\\n %190 = select <8 x i1> %189, <8 x float> %188, <8 x float> zeroinitializer\\n %191 = sext i32 %186 to i64\\n %192 = getelementptr inbounds float, float* %11, i64 %191\\n %193 = bitcast float* %192 to <8 x float>*\\n store <8 x float> %190, <8 x float>* %193, align 32, !tbaa !775\\n %194 = trunc i64 %82 to i32\\n %195 = shl i32 %194, 3\\n %196 = add i32 %195, 96\\n %197 = load <8 x float>, <8 x float>* %50, align 16, !tbaa !778\\n %198 = fadd <8 x float> %73, %197\\n %199 = fcmp ogt <8 x float> %198, zeroinitializer\\n %200 = select <8 x i1> %199, <8 x float> %198, <8 x float> zeroinitializer\\n %201 = sext i32 %196 to i64\\n %202 = getelementptr inbounds float, float* %11, i64 %201\\n %203 = bitcast float* %202 to <8 x float>*\\n store <8 x float> %200, <8 x float>* %203, align 32, !tbaa !775\\n %204 = trunc i64 %82 to i32\\n %205 = shl i32 %204, 3\\n %206 = add i32 %205, 104\\n %207 = load <8 x float>, <8 x float>* %52, align 16, !tbaa !778\\n %208 = fadd <8 x float> %73, %207\\n %209 = fcmp ogt <8 x float> %208, zeroinitializer\\n %210 = select <8 x i1> %209, <8 x float> %208, <8 x float> zeroinitializer\\n %211 = sext i32 %206 to i64\\n %212 = getelementptr inbounds float, float* %11, i64 %211\\n %213 = bitcast float* %212 to <8 x float>*\\n store <8 x float> %210, <8 x float>* %213, align 32, !tbaa !775\\n %214 = trunc i64 %82 to i32\\n %215 = shl i32 %214, 3\\n %216 = add i32 %215, 112\\n %217 = load <8 x float>, <8 x float>* %54, align 16, !tbaa !778\\n %218 = fadd <8 x float> %73, %217\\n %219 = fcmp ogt <8 x float> %218, zeroinitializer\\n %220 = select <8 x i1> %219, <8 x float> %218, <8 x float> zeroinitializer\\n %221 = sext i32 %216 to i64\\n %222 = getelementptr inbounds float, float* %11, i64 %221\\n %223 = bitcast float* %222 to <8 x float>*\\n store <8 x float> %220, <8 x float>* %223, align 32, !tbaa !775\\n %224 = trunc i64 %82 to i32\\n %225 = shl i32 %224, 3\\n %226 = add i32 %225, 120\\n %227 = load <8 x float>, <8 x float>* %56, align 16, !tbaa !778\\n %228 = fadd <8 x float> %73, %227\\n %229 = fcmp ogt <8 x float> %228, zeroinitializer\\n %230 = select <8 x i1> %229, <8 x float> %228, <8 x float> zeroinitializer\\n %231 = sext i32 %226 to i64\\n %232 = getelementptr inbounds float, float* %11, i64 %231\\n %233 = bitcast float* %232 to <8 x float>*\\n store <8 x float> %230, <8 x float>* %233, align 32, !tbaa !775\\n %234 = trunc i64 %82 to i32\\n %235 = shl i32 %234, 3\\n %236 = add i32 %235, 128\\n %237 = load <8 x float>, <8 x float>* %58, align 16, !tbaa !778\\n %238 = fadd <8 x float> %73, %237\\n %239 = fcmp ogt <8 x float> %238, zeroinitializer\\n %240 = select <8 x i1> %239, <8 x float> %238, <8 x float> zeroinitializer\\n %241 = sext i32 %236 to i64\\n %242 = getelementptr inbounds float, float* %11, i64 %241\\n %243 = bitcast float* %242 to <8 x float>*\\n store <8 x float> %240, <8 x float>* %243, align 32, !tbaa !775\\n %244 = trunc i64 %82 to i32\\n %245 = shl i32 %244, 3\\n %246 = add i32 %245, 136\\n %247 = load <8 x float>, <8 x float>* %60, align 16, !tbaa !778\\n %248 = fadd <8 x float> %73, %247\\n %249 = fcmp ogt <8 x float> %248, zeroinitializer\\n %250 = select <8 x i1> %249, <8 x float> %248, <8 x float> zeroinitializer\\n %251 = sext i32 %246 to i64\\n %252 = getelementptr inbounds float, float* %11, i64 %251\\n %253 = bitcast float* %252 to <8 x float>*\\n store <8 x float> %250, <8 x float>* %253, align 32, !tbaa !775\\n %254 = trunc i64 %82 to i32\\n %255 = shl i32 %254, 3\\n %256 = add i32 %255, 144\\n %257 = load <8 x float>, <8 x float>* %62, align 16, !tbaa !778\\n %258 = fadd <8 x float> %73, %257\\n %259 = fcmp ogt <8 x float> %258, zeroinitializer\\n %260 = select <8 x i1> %259, <8 x float> %258, <8 x float> zeroinitializer\\n %261 = sext i32 %256 to i64\\n %262 = getelementptr inbounds float, float* %11, i64 %261\\n %263 = bitcast float* %262 to <8 x float>*\\n store <8 x float> %260, <8 x float>* %263, align 32, !tbaa !775\\n %264 = trunc i64 %82 to i32\\n %265 = shl i32 %264, 3\\n %266 = add i32 %265, 152\\n %267 = load <8 x float>, <8 x float>* %64, align 16, !tbaa !778\\n %268 = fadd <8 x float> %73, %267\\n %269 = fcmp ogt <8 x float> %268, zeroinitializer\\n %270 = select <8 x i1> %269, <8 x float> %268, <8 x float> zeroinitializer\\n %271 = sext i32 %266 to i64\\n %272 = getelementptr inbounds float, float* %11, i64 %271\\n %273 = bitcast float* %272 to <8 x float>*\\n store <8 x float> %270, <8 x float>* %273, align 32, !tbaa !775\\n %274 = trunc i64 %82 to i32\\n %275 = shl i32 %274, 3\\n %276 = add i32 %275, 160\\n %277 = load <8 x float>, <8 x float>* %66, align 16, !tbaa !778\\n %278 = fadd <8 x float> %73, %277\\n %279 = fcmp ogt <8 x float> %278, zeroinitializer\\n %280 = select <8 x i1> %279, <8 x float> %278, <8 x float> zeroinitializer\\n %281 = sext i32 %276 to i64\\n %282 = getelementptr inbounds float, float* %11, i64 %281\\n %283 = bitcast float* %282 to <8 x float>*\\n store <8 x float> %280, <8 x float>* %283, align 32, !tbaa !775\\n %284 = trunc i64 %82 to i32\\n %285 = shl i32 %284, 3\\n %286 = add i32 %285, 168\\n %287 = load <8 x float>, <8 x float>* %68, align 16, !tbaa !778\\n %288 = fadd <8 x float> %73, %287\\n %289 = fcmp ogt <8 x float> %288, zeroinitializer\\n %290 = select <8 x i1> %289, <8 x float> %288, <8 x float> zeroinitializer\\n %291 = sext i32 %286 to i64\\n %292 = getelementptr inbounds float, float* %11, i64 %291\\n %293 = bitcast float* %292 to <8 x float>*\\n store <8 x float> %290, <8 x float>* %293, align 32, !tbaa !775\\n %294 = trunc i64 %82 to i32\\n %295 = shl i32 %294, 3\\n %296 = add i32 %295, 176\\n %297 = load <8 x float>, <8 x float>* %70, align 16, !tbaa !778\\n %298 = fadd <8 x float> %73, %297\\n %299 = fcmp ogt <8 x float> %298, zeroinitializer\\n %300 = select <8 x i1> %299, <8 x float> %298, <8 x float> zeroinitializer\\n %301 = sext i32 %296 to i64\\n %302 = getelementptr inbounds float, float* %11, i64 %301\\n %303 = bitcast float* %302 to <8 x float>*\\n store <8 x float> %300, <8 x float>* %303, align 32, !tbaa !775\\n %304 = trunc i64 %82 to i32\\n %305 = shl i32 %304, 3\\n %306 = add i32 %305, 184\\n %307 = load <8 x float>, <8 x float>* %72, align 16, !tbaa !778\\n %308 = fadd <8 x float> %73, %307\\n %309 = fcmp ogt <8 x float> %308, zeroinitializer\\n %310 = select <8 x i1> %309, <8 x float> %308, <8 x float> zeroinitializer\\n %311 = sext i32 %306 to i64\\n %312 = getelementptr inbounds float, float* %11, i64 %311\\n %313 = bitcast float* %312 to <8 x float>*\\n store <8 x float> %310, <8 x float>* %313, align 32, !tbaa !775\\n %indvars.iv.next132 = add nsw i64 %indvars.iv131, 1\\n %314 = icmp slt i64 %indvars.iv.next132, %77\\n br i1 %314, label %for_body, label %for_end, !prof !1\\n\\nfor_body5: ; preds = %for_body5, %for_body2\\n %indvars.iv = phi i64 [ 0, %for_body2 ], [ %indvars.iv.next, %for_body5 ]\\n %315 = phi <8 x float> [ %.lcssa54101, %for_body2 ], [ %487, %for_body5 ]\\n %316 = phi <8 x float> [ %.lcssa5299, %for_body2 ], [ %481, %for_body5 ]\\n %317 = phi <8 x float> [ %.lcssa5097, %for_body2 ], [ %475, %for_body5 ]\\n %318 = phi <8 x float> [ %.lcssa4895, %for_body2 ], [ %469, %for_body5 ]\\n %319 = phi <8 x float> [ %.lcssa4693, %for_body2 ], [ %463, %for_body5 ]\\n %320 = phi <8 x float> [ %.lcssa4491, %for_body2 ], [ %457, %for_body5 ]\\n %321 = phi <8 x float> [ %.lcssa4289, %for_body2 ], [ %451, %for_body5 ]\\n %322 = phi <8 x float> [ %.lcssa4087, %for_body2 ], [ %445, %for_body5 ]\\n %323 = phi <8 x float> [ %.lcssa3885, %for_body2 ], [ %439, %for_body5 ]\\n %324 = phi <8 x float> [ %.lcssa3683, %for_body2 ], [ %433, %for_body5 ]\\n %325 = phi <8 x float> [ %.lcssa3481, %for_body2 ], [ %427, %for_body5 ]\\n %326 = phi <8 x float> [ %.lcssa3279, %for_body2 ], [ %421, %for_body5 ]\\n %327 = phi <8 x float> [ %.lcssa3077, %for_body2 ], [ %415, %for_body5 ]\\n %328 = phi <8 x float> [ %.lcssa2875, %for_body2 ], [ %409, %for_body5 ]\\n %329 = phi <8 x float> [ %.lcssa2673, %for_body2 ], [ %403, %for_body5 ]\\n %330 = phi <8 x float> [ %.lcssa2471, %for_body2 ], [ %397, %for_body5 ]\\n %331 = phi <8 x float> [ %.lcssa2269, %for_body2 ], [ %391, %for_body5 ]\\n %332 = phi <8 x float> [ %.lcssa2067, %for_body2 ], [ %385, %for_body5 ]\\n %333 = phi <8 x float> [ %.lcssa1865, %for_body2 ], [ %379, %for_body5 ]\\n %334 = phi <8 x float> [ %.lcssa1663, %for_body2 ], [ %373, %for_body5 ]\\n %335 = phi <8 x float> [ %.lcssa1461, %for_body2 ], [ %367, %for_body5 ]\\n %336 = phi <8 x float> [ %.lcssa1259, %for_body2 ], [ %361, %for_body5 ]\\n %337 = phi <8 x float> [ %.lcssa1058, %for_body2 ], [ %355, %for_body5 ]\\n %338 = phi <8 x float> [ %.lcssa56, %for_body2 ], [ %349, %for_body5 ]\\n %339 = add nsw i64 %indvars.iv, %80\\n %340 = getelementptr inbounds float, float* %5, i64 %339\\n %341 = load float, float* %340, align 4, !tbaa !779\\n %342 = insertelement <8 x float> undef, float %341, i32 0\\n %343 = shufflevector <8 x float> %342, <8 x float> undef, <8 x i32> zeroinitializer\\n %344 = add nuw nsw i64 %indvars.iv, %81\\n %345 = shl nsw i64 %344, 3\\n %346 = getelementptr inbounds float, float* %8, i64 %345\\n %347 = bitcast float* %346 to <8 x float>*\\n %348 = load <8 x float>, <8 x float>* %347, align 32, !tbaa !782\\n %349 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %343, <8 x float> %348, <8 x float> %338)\\n %350 = add nsw i64 %339, 1\\n %351 = getelementptr inbounds float, float* %5, i64 %350\\n %352 = load float, float* %351, align 4, !tbaa !779\\n %353 = insertelement <8 x float> undef, float %352, i32 0\\n %354 = shufflevector <8 x float> %353, <8 x float> undef, <8 x i32> zeroinitializer\\n %355 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %354, <8 x float> %348, <8 x float> %337)\\n %356 = add nsw i64 %339, 2\\n %357 = getelementptr inbounds float, float* %5, i64 %356\\n %358 = load float, float* %357, align 4, !tbaa !779\\n %359 = insertelement <8 x float> undef, float %358, i32 0\\n %360 = shufflevector <8 x float> %359, <8 x float> undef, <8 x i32> zeroinitializer\\n %361 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %360, <8 x float> %348, <8 x float> %336)\\n %362 = add nsw i64 %339, 3\\n %363 = getelementptr inbounds float, float* %5, i64 %362\\n %364 = load float, float* %363, align 4, !tbaa !779\\n %365 = insertelement <8 x float> undef, float %364, i32 0\\n %366 = shufflevector <8 x float> %365, <8 x float> undef, <8 x i32> zeroinitializer\\n %367 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %366, <8 x float> %348, <8 x float> %335)\\n %368 = add nsw i64 %339, 4\\n %369 = getelementptr inbounds float, float* %5, i64 %368\\n %370 = load float, float* %369, align 4, !tbaa !779\\n %371 = insertelement <8 x float> undef, float %370, i32 0\\n %372 = shufflevector <8 x float> %371, <8 x float> undef, <8 x i32> zeroinitializer\\n %373 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %372, <8 x float> %348, <8 x float> %334)\\n %374 = add nsw i64 %339, 5\\n %375 = getelementptr inbounds float, float* %5, i64 %374\\n %376 = load float, float* %375, align 4, !tbaa !779\\n %377 = insertelement <8 x float> undef, float %376, i32 0\\n %378 = shufflevector <8 x float> %377, <8 x float> undef, <8 x i32> zeroinitializer\\n %379 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %378, <8 x float> %348, <8 x float> %333)\\n %380 = add nsw i64 %339, 6\\n %381 = getelementptr inbounds float, float* %5, i64 %380\\n %382 = load float, float* %381, align 4, !tbaa !779\\n %383 = insertelement <8 x float> undef, float %382, i32 0\\n %384 = shufflevector <8 x float> %383, <8 x float> undef, <8 x i32> zeroinitializer\\n %385 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %384, <8 x float> %348, <8 x float> %332)\\n %386 = add nsw i64 %339, 7\\n %387 = getelementptr inbounds float, float* %5, i64 %386\\n %388 = load float, float* %387, align 4, !tbaa !779\\n %389 = insertelement <8 x float> undef, float %388, i32 0\\n %390 = shufflevector <8 x float> %389, <8 x float> undef, <8 x i32> zeroinitializer\\n %391 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %390, <8 x float> %348, <8 x float> %331)\\n %392 = add nsw i64 %339, 8\\n %393 = getelementptr inbounds float, float* %5, i64 %392\\n %394 = load float, float* %393, align 4, !tbaa !779\\n %395 = insertelement <8 x float> undef, float %394, i32 0\\n %396 = shufflevector <8 x float> %395, <8 x float> undef, <8 x i32> zeroinitializer\\n %397 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %396, <8 x float> %348, <8 x float> %330)\\n %398 = add nsw i64 %339, 9\\n %399 = getelementptr inbounds float, float* %5, i64 %398\\n %400 = load float, float* %399, align 4, !tbaa !779\\n %401 = insertelement <8 x float> undef, float %400, i32 0\\n %402 = shufflevector <8 x float> %401, <8 x float> undef, <8 x i32> zeroinitializer\\n %403 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %402, <8 x float> %348, <8 x float> %329)\\n %404 = add nsw i64 %339, 10\\n %405 = getelementptr inbounds float, float* %5, i64 %404\\n %406 = load float, float* %405, align 4, !tbaa !779\\n %407 = insertelement <8 x float> undef, float %406, i32 0\\n %408 = shufflevector <8 x float> %407, <8 x float> undef, <8 x i32> zeroinitializer\\n %409 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %408, <8 x float> %348, <8 x float> %328)\\n %410 = add nsw i64 %339, 11\\n %411 = getelementptr inbounds float, float* %5, i64 %410\\n %412 = load float, float* %411, align 4, !tbaa !779\\n %413 = insertelement <8 x float> undef, float %412, i32 0\\n %414 = shufflevector <8 x float> %413, <8 x float> undef, <8 x i32> zeroinitializer\\n %415 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %414, <8 x float> %348, <8 x float> %327)\\n %416 = add nsw i64 %339, 12\\n %417 = getelementptr inbounds float, float* %5, i64 %416\\n %418 = load float, float* %417, align 4, !tbaa !779\\n %419 = insertelement <8 x float> undef, float %418, i32 0\\n %420 = shufflevector <8 x float> %419, <8 x float> undef, <8 x i32> zeroinitializer\\n %421 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %420, <8 x float> %348, <8 x float> %326)\\n %422 = add nsw i64 %339, 13\\n %423 = getelementptr inbounds float, float* %5, i64 %422\\n %424 = load float, float* %423, align 4, !tbaa !779\\n %425 = insertelement <8 x float> undef, float %424, i32 0\\n %426 = shufflevector <8 x float> %425, <8 x float> undef, <8 x i32> zeroinitializer\\n %427 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %426, <8 x float> %348, <8 x float> %325)\\n %428 = add nsw i64 %339, 14\\n %429 = getelementptr inbounds float, float* %5, i64 %428\\n %430 = load float, float* %429, align 4, !tbaa !779\\n %431 = insertelement <8 x float> undef, float %430, i32 0\\n %432 = shufflevector <8 x float> %431, <8 x float> undef, <8 x i32> zeroinitializer\\n %433 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %432, <8 x float> %348, <8 x float> %324)\\n %434 = add nsw i64 %339, 15\\n %435 = getelementptr inbounds float, float* %5, i64 %434\\n %436 = load float, float* %435, align 4, !tbaa !779\\n %437 = insertelement <8 x float> undef, float %436, i32 0\\n %438 = shufflevector <8 x float> %437, <8 x float> undef, <8 x i32> zeroinitializer\\n %439 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %438, <8 x float> %348, <8 x float> %323)\\n %440 = add nsw i64 %339, 16\\n %441 = getelementptr inbounds float, float* %5, i64 %440\\n %442 = load float, float* %441, align 4, !tbaa !779\\n %443 = insertelement <8 x float> undef, float %442, i32 0\\n %444 = shufflevector <8 x float> %443, <8 x float> undef, <8 x i32> zeroinitializer\\n %445 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %444, <8 x float> %348, <8 x float> %322)\\n %446 = add nsw i64 %339, 17\\n %447 = getelementptr inbounds float, float* %5, i64 %446\\n %448 = load float, float* %447, align 4, !tbaa !779\\n %449 = insertelement <8 x float> undef, float %448, i32 0\\n %450 = shufflevector <8 x float> %449, <8 x float> undef, <8 x i32> zeroinitializer\\n %451 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %450, <8 x float> %348, <8 x float> %321)\\n %452 = add nsw i64 %339, 18\\n %453 = getelementptr inbounds float, float* %5, i64 %452\\n %454 = load float, float* %453, align 4, !tbaa !779\\n %455 = insertelement <8 x float> undef, float %454, i32 0\\n %456 = shufflevector <8 x float> %455, <8 x float> undef, <8 x i32> zeroinitializer\\n %457 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %456, <8 x float> %348, <8 x float> %320)\\n %458 = add nsw i64 %339, 19\\n %459 = getelementptr inbounds float, float* %5, i64 %458\\n %460 = load float, float* %459, align 4, !tbaa !779\\n %461 = insertelement <8 x float> undef, float %460, i32 0\\n %462 = shufflevector <8 x float> %461, <8 x float> undef, <8 x i32> zeroinitializer\\n %463 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %462, <8 x float> %348, <8 x float> %319)\\n %464 = add nsw i64 %339, 20\\n %465 = getelementptr inbounds float, float* %5, i64 %464\\n %466 = load float, float* %465, align 4, !tbaa !779\\n %467 = insertelement <8 x float> undef, float %466, i32 0\\n %468 = shufflevector <8 x float> %467, <8 x float> undef, <8 x i32> zeroinitializer\\n %469 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %468, <8 x float> %348, <8 x float> %318)\\n %470 = add nsw i64 %339, 21\\n %471 = getelementptr inbounds float, float* %5, i64 %470\\n %472 = load float, float* %471, align 4, !tbaa !779\\n %473 = insertelement <8 x float> undef, float %472, i32 0\\n %474 = shufflevector <8 x float> %473, <8 x float> undef, <8 x i32> zeroinitializer\\n %475 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %474, <8 x float> %348, <8 x float> %317)\\n %476 = add nsw i64 %339, 22\\n %477 = getelementptr inbounds float, float* %5, i64 %476\\n %478 = load float, float* %477, align 4, !tbaa !779\\n %479 = insertelement <8 x float> undef, float %478, i32 0\\n %480 = shufflevector <8 x float> %479, <8 x float> undef, <8 x i32> zeroinitializer\\n %481 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %480, <8 x float> %348, <8 x float> %316)\\n %482 = add nsw i64 %339, 23\\n %483 = getelementptr inbounds float, float* %5, i64 %482\\n %484 = load float, float* %483, align 4, !tbaa !779\\n %485 = insertelement <8 x float> undef, float %484, i32 0\\n %486 = shufflevector <8 x float> %485, <8 x float> undef, <8 x i32> zeroinitializer\\n %487 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %486, <8 x float> %348, <8 x float> %315)\\n %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1\\n %exitcond = icmp eq i64 %indvars.iv.next, 5\\n br i1 %exitcond, label %for_end6, label %for_body5, !prof !21\\n\\nfor_end6: ; preds = %for_body5\\n %indvars.iv.next126 = add nuw nsw i64 %indvars.iv125, 1\\n %exitcond127 = icmp eq i64 %indvars.iv.next126, 5\\n br i1 %exitcond127, label %for_end3, label %for_body2, !prof !21\\n}\\n\\n; Function Attrs: nounwind readnone speculatable\\ndeclare <8 x float> @llvm.fmuladd.v8f32(<8 x float>, <8 x float>, <8 x float>) #4\\n\\ndefine dllexport i32 @fused_nn_dense_add_1(i8* noalias nocapture readonly, i8* noalias nocapture readonly, i32) local_unnamed_addr {\\nentry:\\n %3 = icmp eq i32 %2, 4\\n br i1 %3, label %assert_end, label %assert_fail, !prof !1\\n\\nassert_fail: ; preds = %entry\\n %4 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %4(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.101, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end: ; preds = %entry\\n %5 = bitcast i8* %0 to %1**\\n %6 = load %1*, %1** %5, align 8\\n %7 = bitcast i8* %1 to i32*\\n %8 = load i32, i32* %7, align 4, !tbaa !785\\n %9 = getelementptr inbounds i8, i8* %0, i64 8\\n %10 = bitcast i8* %9 to %1**\\n %11 = load %1*, %1** %10, align 8\\n %12 = getelementptr inbounds i8, i8* %1, i64 4\\n %13 = bitcast i8* %12 to i32*\\n %14 = load i32, i32* %13, align 4, !tbaa !799\\n %15 = getelementptr inbounds i8, i8* %0, i64 16\\n %16 = bitcast i8* %15 to %1**\\n %17 = load %1*, %1** %16, align 8\\n %18 = getelementptr inbounds i8, i8* %1, i64 8\\n %19 = bitcast i8* %18 to i32*\\n %20 = load i32, i32* %19, align 4, !tbaa !801\\n %21 = getelementptr inbounds i8, i8* %0, i64 24\\n %22 = bitcast i8* %21 to %1**\\n %23 = load %1*, %1** %22, align 8\\n %24 = getelementptr inbounds i8, i8* %1, i64 12\\n %25 = bitcast i8* %24 to i32*\\n %26 = load i32, i32* %25, align 4, !tbaa !804\\n %27 = getelementptr inbounds %1, %1* %6, i64 0, i32 0\\n %28 = load i8*, i8** %27, align 8\\n %29 = getelementptr inbounds %1, %1* %6, i64 0, i32 4\\n %30 = load i64*, i64** %29, align 8\\n %31 = getelementptr inbounds %1, %1* %6, i64 0, i32 5\\n %32 = load i64*, i64** %31, align 8\\n %33 = icmp eq i64* %32, null\\n br i1 %33, label %if_end, label %if_then, !prof !21\\n\\nif_then: ; preds = %assert_end\\n %34 = load i64, i64* %32, align 8, !tbaa !806\\n %35 = trunc i64 %34 to i32\\n %36 = icmp eq i32 %35, 256\\n %37 = getelementptr inbounds i64, i64* %32, i64 1\\n %38 = load i64, i64* %37, align 8, !tbaa !820\\n %39 = trunc i64 %38 to i32\\n %40 = icmp eq i32 %39, 1\\n %41 = and i1 %36, %40\\n br i1 %41, label %if_end, label %assert_fail1, !prof !1\\n\\nif_end: ; preds = %assert_end, %if_then\\n %42 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 0\\n %43 = load i32, i32* %42, align 4\\n %44 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 1\\n %45 = load i32, i32* %44, align 4\\n %46 = getelementptr inbounds %1, %1* %11, i64 0, i32 0\\n %47 = load i8*, i8** %46, align 8\\n %48 = getelementptr inbounds %1, %1* %11, i64 0, i32 4\\n %49 = load i64*, i64** %48, align 8\\n %50 = getelementptr inbounds %1, %1* %11, i64 0, i32 5\\n %51 = load i64*, i64** %50, align 8\\n %52 = icmp eq i64* %51, null\\n br i1 %52, label %if_end4, label %if_then3, !prof !21\\n\\nassert_fail1: ; preds = %if_then\\n %53 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %53(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.102, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then3: ; preds = %if_end\\n %54 = load i64, i64* %51, align 8, !tbaa !822\\n %55 = trunc i64 %54 to i32\\n %56 = icmp eq i32 %55, 256\\n %57 = getelementptr inbounds i64, i64* %51, i64 1\\n %58 = load i64, i64* %57, align 8, !tbaa !836\\n %59 = trunc i64 %58 to i32\\n %60 = icmp eq i32 %59, 1\\n %61 = and i1 %56, %60\\n br i1 %61, label %if_end4, label %assert_fail5, !prof !1\\n\\nif_end4: ; preds = %if_end, %if_then3\\n %62 = getelementptr inbounds %1, %1* %17, i64 0, i32 0\\n %63 = load i8*, i8** %62, align 8\\n %64 = getelementptr inbounds %1, %1* %17, i64 0, i32 4\\n %65 = load i64*, i64** %64, align 8\\n %66 = getelementptr inbounds %1, %1* %17, i64 0, i32 5\\n %67 = load i64*, i64** %66, align 8\\n %68 = icmp eq i64* %67, null\\n br i1 %68, label %if_end8, label %if_then7, !prof !21\\n\\nassert_fail5: ; preds = %if_then3\\n %69 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %69(i8* getelementptr inbounds ([124 x i8], [124 x i8]* @.str.2, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then7: ; preds = %if_end4\\n %70 = load i64, i64* %67, align 8, !tbaa !838\\n %71 = trunc i64 %70 to i32\\n %72 = icmp eq i32 %71, 10\\n %73 = getelementptr inbounds i64, i64* %67, i64 1\\n %74 = load i64, i64* %73, align 8, !tbaa !852\\n %75 = trunc i64 %74 to i32\\n %76 = icmp eq i32 %75, 1\\n %77 = and i1 %72, %76\\n br i1 %77, label %if_end8, label %assert_fail9, !prof !1\\n\\nif_end8: ; preds = %if_end4, %if_then7\\n %78 = getelementptr inbounds %1, %1* %23, i64 0, i32 0\\n %79 = load i8*, i8** %78, align 8\\n %80 = getelementptr inbounds %1, %1* %23, i64 0, i32 4\\n %81 = load i64*, i64** %80, align 8\\n %82 = getelementptr inbounds %1, %1* %23, i64 0, i32 5\\n %83 = load i64*, i64** %82, align 8\\n %84 = icmp eq i64* %83, null\\n br i1 %84, label %if_end12, label %if_then11, !prof !21\\n\\nassert_fail9: ; preds = %if_then7\\n %85 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %85(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.103, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then11: ; preds = %if_end8\\n %86 = load i64, i64* %83, align 8, !tbaa !854\\n %87 = trunc i64 %86 to i32\\n %88 = icmp eq i32 %87, 10\\n %89 = getelementptr inbounds i64, i64* %83, i64 1\\n %90 = load i64, i64* %89, align 8, !tbaa !868\\n %91 = trunc i64 %90 to i32\\n %92 = icmp eq i32 %91, 1\\n %93 = and i1 %88, %92\\n br i1 %93, label %if_end12, label %assert_fail13, !prof !1\\n\\nif_end12: ; preds = %if_end8, %if_then11\\n switch i32 %8, label %assert_fail15 [\\n i32 13, label %assert_end16\\n i32 7, label %assert_end16\\n i32 4, label %assert_end16\\n i32 3, label %assert_end16\\n ]\\n\\nassert_fail13: ; preds = %if_then11\\n %94 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %94(i8* getelementptr inbounds ([123 x i8], [123 x i8]* @.str.104, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_fail15: ; preds = %if_end12\\n %95 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %95(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.105, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end16: ; preds = %if_end12, %if_end12, %if_end12, %if_end12\\n switch i32 %14, label %assert_fail17 [\\n i32 13, label %assert_end18\\n i32 7, label %assert_end18\\n i32 4, label %assert_end18\\n i32 3, label %assert_end18\\n ]\\n\\nassert_fail17: ; preds = %assert_end16\\n %96 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %96(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.106, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end18: ; preds = %assert_end16, %assert_end16, %assert_end16, %assert_end16\\n switch i32 %20, label %assert_fail19 [\\n i32 13, label %assert_end20\\n i32 7, label %assert_end20\\n i32 4, label %assert_end20\\n i32 3, label %assert_end20\\n ]\\n\\nassert_fail19: ; preds = %assert_end18\\n %97 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %97(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.107, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end20: ; preds = %assert_end18, %assert_end18, %assert_end18, %assert_end18\\n switch i32 %26, label %assert_fail21 [\\n i32 13, label %assert_end22\\n i32 7, label %assert_end22\\n i32 4, label %assert_end22\\n i32 3, label %assert_end22\\n ]\\n\\nassert_fail21: ; preds = %assert_end20\\n %98 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %98(i8* getelementptr inbounds ([148 x i8], [148 x i8]* @.str.108, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end22: ; preds = %assert_end20, %assert_end20, %assert_end20, %assert_end20\\n %99 = icmp eq i32 %43, 1\\n br i1 %99, label %assert_end24, label %assert_fail23, !prof !1\\n\\nassert_fail23: ; preds = %assert_end22\\n %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %100(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.5, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end24: ; preds = %assert_end22\\n %101 = getelementptr inbounds %1, %1* %6, i64 0, i32 2\\n %102 = load i32, i32* %101, align 4\\n %103 = icmp eq i32 %102, 2\\n br i1 %103, label %assert_end26, label %assert_fail25, !prof !1\\n\\nassert_fail25: ; preds = %assert_end24\\n %104 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %104(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.109, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end26: ; preds = %assert_end24\\n %105 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 2\\n %106 = load i16, i16* %105, align 2\\n %107 = icmp eq i16 %106, 1\\n %108 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 1\\n %109 = load i8, i8* %108, align 1\\n %110 = icmp eq i8 %109, 32\\n %111 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 0\\n %112 = load i8, i8* %111, align 1\\n %113 = icmp eq i8 %112, 2\\n %114 = and i1 %110, %113\\n %115 = and i1 %107, %114\\n br i1 %115, label %assert_end28, label %assert_fail27, !prof !1\\n\\nassert_fail27: ; preds = %assert_end26\\n %116 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %116(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.7, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end28: ; preds = %assert_end26\\n %117 = load i64, i64* %30, align 8, !tbaa !870\\n %118 = trunc i64 %117 to i32\\n %119 = icmp eq i32 %118, 1\\n br i1 %119, label %assert_end30, label %assert_fail29, !prof !1\\n\\nassert_fail29: ; preds = %assert_end28\\n %120 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %120(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.54, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end30: ; preds = %assert_end28\\n %121 = getelementptr inbounds i64, i64* %30, i64 1\\n %122 = load i64, i64* %121, align 8, !tbaa !884\\n %123 = trunc i64 %122 to i32\\n %124 = icmp eq i32 %123, 256\\n br i1 %124, label %assert_end32, label %assert_fail31, !prof !1\\n\\nassert_fail31: ; preds = %assert_end30\\n %125 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %125(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.110, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end32: ; preds = %assert_end30\\n %126 = getelementptr inbounds %1, %1* %6, i64 0, i32 6\\n %127 = load i64, i64* %126, align 8\\n %128 = icmp eq i64 %127, 0\\n br i1 %128, label %assert_end34, label %assert_fail33, !prof !1\\n\\nassert_fail33: ; preds = %assert_end32\\n %129 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %129(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.12, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end34: ; preds = %assert_end32\\n %130 = getelementptr inbounds %1, %1* %11, i64 0, i32 2\\n %131 = load i32, i32* %130, align 4\\n %132 = icmp eq i32 %131, 2\\n br i1 %132, label %assert_end36, label %assert_fail35, !prof !1\\n\\nassert_fail35: ; preds = %assert_end34\\n %133 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %133(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.13, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end36: ; preds = %assert_end34\\n %134 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 2\\n %135 = load i16, i16* %134, align 2\\n %136 = icmp eq i16 %135, 1\\n %137 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 1\\n %138 = load i8, i8* %137, align 1\\n %139 = icmp eq i8 %138, 32\\n %140 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 0\\n %141 = load i8, i8* %140, align 1\\n %142 = icmp eq i8 %141, 2\\n %143 = and i1 %139, %142\\n %144 = and i1 %136, %143\\n br i1 %144, label %assert_end38, label %assert_fail37, !prof !1\\n\\nassert_fail37: ; preds = %assert_end36\\n %145 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %145(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.14, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end38: ; preds = %assert_end36\\n %146 = load i64, i64* %49, align 8, !tbaa !886\\n %147 = trunc i64 %146 to i32\\n %148 = icmp eq i32 %147, 10\\n br i1 %148, label %assert_end40, label %assert_fail39, !prof !1\\n\\nassert_fail39: ; preds = %assert_end38\\n %149 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %149(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.15, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end40: ; preds = %assert_end38\\n %150 = getelementptr inbounds i64, i64* %49, i64 1\\n %151 = load i64, i64* %150, align 8, !tbaa !900\\n %152 = trunc i64 %151 to i32\\n %153 = icmp eq i32 %152, 256\\n br i1 %153, label %assert_end42, label %assert_fail41, !prof !1\\n\\nassert_fail41: ; preds = %assert_end40\\n %154 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %154(i8* getelementptr inbounds ([97 x i8], [97 x i8]* @.str.16, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end42: ; preds = %assert_end40\\n %155 = getelementptr inbounds %1, %1* %11, i64 0, i32 6\\n %156 = load i64, i64* %155, align 8\\n %157 = icmp eq i64 %156, 0\\n br i1 %157, label %assert_end44, label %assert_fail43, !prof !1\\n\\nassert_fail43: ; preds = %assert_end42\\n %158 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %158(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.17, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end44: ; preds = %assert_end42\\n %159 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 0\\n %160 = load i32, i32* %159, align 4\\n %161 = icmp eq i32 %160, 1\\n br i1 %161, label %assert_end46, label %assert_fail45, !prof !1\\n\\nassert_fail45: ; preds = %assert_end44\\n %162 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %162(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.18, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end46: ; preds = %assert_end44\\n %163 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 1\\n %164 = load i32, i32* %163, align 4\\n %165 = icmp eq i32 %45, %164\\n br i1 %165, label %assert_end48, label %assert_fail47, !prof !1\\n\\nassert_fail47: ; preds = %assert_end46\\n %166 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %166(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.19, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end48: ; preds = %assert_end46\\n %167 = getelementptr inbounds %1, %1* %17, i64 0, i32 2\\n %168 = load i32, i32* %167, align 4\\n %169 = icmp eq i32 %168, 2\\n br i1 %169, label %assert_end50, label %assert_fail49, !prof !1\\n\\nassert_fail49: ; preds = %assert_end48\\n %170 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %170(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.111, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end50: ; preds = %assert_end48\\n %171 = getelementptr inbounds %1, %1* %17, i64 0, i32 3, i32 2\\n %172 = load i16, i16* %171, align 2\\n %173 = icmp eq i16 %172, 1\\n %174 = getelementptr inbounds %1, %1* %17, i64 0, i32 3, i32 1\\n %175 = load i8, i8* %174, align 1\\n %176 = icmp eq i8 %175, 32\\n %177 = getelementptr inbounds %1, %1* %17, i64 0, i32 3, i32 0\\n %178 = load i8, i8* %177, align 1\\n %179 = icmp eq i8 %178, 2\\n %180 = and i1 %176, %179\\n %181 = and i1 %173, %180\\n br i1 %181, label %assert_end52, label %assert_fail51, !prof !1\\n\\nassert_fail51: ; preds = %assert_end50\\n %182 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %182(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.82, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end52: ; preds = %assert_end50\\n %183 = load i64, i64* %65, align 8, !tbaa !902\\n %184 = trunc i64 %183 to i32\\n %185 = icmp eq i32 %184, 1\\n br i1 %185, label %assert_end54, label %assert_fail53, !prof !1\\n\\nassert_fail53: ; preds = %assert_end52\\n %186 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %186(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.83, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end54: ; preds = %assert_end52\\n %187 = getelementptr inbounds i64, i64* %65, i64 1\\n %188 = load i64, i64* %187, align 8, !tbaa !916\\n %189 = trunc i64 %188 to i32\\n %190 = icmp eq i32 %189, 10\\n br i1 %190, label %assert_end56, label %assert_fail55, !prof !1\\n\\nassert_fail55: ; preds = %assert_end54\\n %191 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %191(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.112, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end56: ; preds = %assert_end54\\n %192 = getelementptr inbounds %1, %1* %17, i64 0, i32 6\\n %193 = load i64, i64* %192, align 8\\n %194 = icmp eq i64 %193, 0\\n br i1 %194, label %assert_end58, label %assert_fail57, !prof !1\\n\\nassert_fail57: ; preds = %assert_end56\\n %195 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %195(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.87, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end58: ; preds = %assert_end56\\n %196 = getelementptr inbounds %1, %1* %17, i64 0, i32 1, i32 0\\n %197 = load i32, i32* %196, align 4\\n %198 = icmp eq i32 %197, 1\\n br i1 %198, label %assert_end60, label %assert_fail59, !prof !1\\n\\nassert_fail59: ; preds = %assert_end58\\n %199 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %199(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.88, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end60: ; preds = %assert_end58\\n %200 = getelementptr inbounds %1, %1* %17, i64 0, i32 1, i32 1\\n %201 = load i32, i32* %200, align 4\\n %202 = icmp eq i32 %45, %201\\n br i1 %202, label %assert_end62, label %assert_fail61, !prof !1\\n\\nassert_fail61: ; preds = %assert_end60\\n %203 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %203(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.89, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end62: ; preds = %assert_end60\\n %204 = getelementptr inbounds %1, %1* %23, i64 0, i32 2\\n %205 = load i32, i32* %204, align 4\\n %206 = icmp eq i32 %205, 2\\n br i1 %206, label %assert_end64, label %assert_fail63, !prof !1\\n\\nassert_fail63: ; preds = %assert_end62\\n %207 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %207(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.113, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end64: ; preds = %assert_end62\\n %208 = getelementptr inbounds %1, %1* %23, i64 0, i32 3, i32 2\\n %209 = load i16, i16* %208, align 2\\n %210 = icmp eq i16 %209, 1\\n %211 = getelementptr inbounds %1, %1* %23, i64 0, i32 3, i32 1\\n %212 = load i8, i8* %211, align 1\\n %213 = icmp eq i8 %212, 32\\n %214 = getelementptr inbounds %1, %1* %23, i64 0, i32 3, i32 0\\n %215 = load i8, i8* %214, align 1\\n %216 = icmp eq i8 %215, 2\\n %217 = and i1 %213, %216\\n %218 = and i1 %210, %217\\n br i1 %218, label %assert_end66, label %assert_fail65, !prof !1\\n\\nassert_fail65: ; preds = %assert_end64\\n %219 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %219(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.91, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end66: ; preds = %assert_end64\\n %220 = load i64, i64* %81, align 8, !tbaa !918\\n %221 = trunc i64 %220 to i32\\n %222 = icmp eq i32 %221, 1\\n br i1 %222, label %assert_end68, label %assert_fail67, !prof !1\\n\\nassert_fail67: ; preds = %assert_end66\\n %223 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %223(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.92, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end68: ; preds = %assert_end66\\n %224 = getelementptr inbounds i64, i64* %81, i64 1\\n %225 = load i64, i64* %224, align 8, !tbaa !932\\n %226 = trunc i64 %225 to i32\\n %227 = icmp eq i32 %226, 10\\n br i1 %227, label %assert_end70, label %assert_fail69, !prof !1\\n\\nassert_fail69: ; preds = %assert_end68\\n %228 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %228(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.114, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end70: ; preds = %assert_end68\\n %229 = getelementptr inbounds %1, %1* %23, i64 0, i32 6\\n %230 = load i64, i64* %229, align 8\\n %231 = icmp eq i64 %230, 0\\n br i1 %231, label %assert_end72, label %assert_fail71, !prof !1\\n\\nassert_fail71: ; preds = %assert_end70\\n %232 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %232(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.97, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end72: ; preds = %assert_end70\\n %233 = getelementptr inbounds %1, %1* %23, i64 0, i32 1, i32 0\\n %234 = load i32, i32* %233, align 4\\n %235 = icmp eq i32 %234, 1\\n br i1 %235, label %assert_end74, label %assert_fail73, !prof !1\\n\\nassert_fail73: ; preds = %assert_end72\\n %236 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %236(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.98, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end74: ; preds = %assert_end72\\n %237 = getelementptr inbounds %1, %1* %23, i64 0, i32 1, i32 1\\n %238 = load i32, i32* %237, align 4\\n %239 = icmp eq i32 %45, %238\\n br i1 %239, label %assert_end76, label %assert_fail75, !prof !1\\n\\nassert_fail75: ; preds = %assert_end74\\n %240 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %240(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.99, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end76: ; preds = %assert_end74\\n %241 = tail call fastcc i32 @fused_nn_dense_add_1_compute_(i8* %28, i8* %47, i8* %79, i8* %63)\\n ret i32 %241\\n}\\n\\n; Function Attrs: noinline\\ndefine private fastcc i32 @fused_nn_dense_add_1_compute_(i8* noalias, i8* noalias, i8* noalias nocapture, i8* noalias nocapture readonly) unnamed_addr #0 {\\nentry:\\n %4 = alloca [10 x float], align 16\\n %5 = alloca %8, align 8\\n %.sub = getelementptr inbounds [10 x float], [10 x float]* %4, i64 0, i64 0\\n %6 = getelementptr inbounds %8, %8* %5, i64 0, i32 0\\n store i8* %0, i8** %6, align 8\\n %7 = getelementptr inbounds %8, %8* %5, i64 0, i32 1\\n store i8* %1, i8** %7, align 8\\n %8 = getelementptr inbounds %8, %8* %5, i64 0, i32 2\\n store float* %.sub, float** %8, align 8\\n %9 = bitcast %8* %5 to i8*\\n %10 = load i32 (i32 (i32, %0*, i8*)*, i8*, i32)*, i32 (i32 (i32, %0*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !2\\n %11 = call i32 %10(i32 (i32, %0*, i8*)* nonnull @__tvm_parallel_lambda.115, i8* nonnull %9, i32 0)\\n %12 = icmp eq i32 %11, 0\\n br i1 %12, label %call_end, label %call_fail, !prof !1\\n\\ncall_fail: ; preds = %call_end, %entry\\n %merge = phi i32 [ %11, %entry ], [ 0, %call_end ]\\n ret i32 %merge\\n\\ncall_end: ; preds = %entry\\n %13 = bitcast i8* %3 to <4 x float>*\\n %14 = load <4 x float>, <4 x float>* %13, align 4, !tbaa !934\\n %15 = bitcast [10 x float]* %4 to <4 x float>*\\n %16 = load <4 x float>, <4 x float>* %15, align 16, !tbaa !937\\n %17 = fadd <4 x float> %14, %16\\n %18 = bitcast i8* %2 to <4 x float>*\\n store <4 x float> %17, <4 x float>* %18, align 4, !tbaa !940\\n %19 = getelementptr inbounds i8, i8* %3, i64 16\\n %20 = getelementptr inbounds [10 x float], [10 x float]* %4, i64 0, i64 4\\n %21 = getelementptr inbounds i8, i8* %2, i64 16\\n %22 = bitcast i8* %19 to <4 x float>*\\n %23 = load <4 x float>, <4 x float>* %22, align 4, !tbaa !934\\n %24 = bitcast float* %20 to <4 x float>*\\n %25 = load <4 x float>, <4 x float>* %24, align 16, !tbaa !937\\n %26 = fadd <4 x float> %23, %25\\n %27 = bitcast i8* %21 to <4 x float>*\\n store <4 x float> %26, <4 x float>* %27, align 4, !tbaa !940\\n %28 = getelementptr inbounds i8, i8* %3, i64 32\\n %29 = bitcast i8* %28 to float*\\n %30 = load float, float* %29, align 4, !tbaa !934\\n %31 = getelementptr inbounds [10 x float], [10 x float]* %4, i64 0, i64 8\\n %32 = load float, float* %31, align 16, !tbaa !937\\n %33 = fadd float %30, %32\\n %34 = getelementptr inbounds i8, i8* %2, i64 32\\n %35 = bitcast i8* %34 to float*\\n store float %33, float* %35, align 4, !tbaa !940\\n %36 = getelementptr inbounds i8, i8* %3, i64 36\\n %37 = bitcast i8* %36 to float*\\n %38 = load float, float* %37, align 4, !tbaa !934\\n %39 = getelementptr inbounds [10 x float], [10 x float]* %4, i64 0, i64 9\\n %40 = load float, float* %39, align 4, !tbaa !937\\n %41 = fadd float %38, %40\\n %42 = getelementptr inbounds i8, i8* %2, i64 36\\n %43 = bitcast i8* %42 to float*\\n store float %41, float* %43, align 4, !tbaa !940\\n br label %call_fail\\n}\\n\\n; Function Attrs: nounwind\\ndefine private i32 @__tvm_parallel_lambda.115(i32, %0* nocapture readonly, i8* nocapture readonly) #3 {\\nentry:\\n %3 = bitcast i8* %2 to float**\\n %4 = load float*, float** %3, align 8\\n %5 = getelementptr inbounds i8, i8* %2, i64 8\\n %6 = bitcast i8* %5 to float**\\n %7 = load float*, float** %6, align 8\\n %8 = getelementptr inbounds i8, i8* %2, i64 16\\n %9 = bitcast i8* %8 to float**\\n %10 = load float*, float** %9, align 8\\n %11 = getelementptr inbounds %0, %0* %1, i64 0, i32 1\\n %12 = load i32, i32* %11, align 4\\n %13 = add nsw i32 %12, 9\\n %14 = sdiv i32 %13, %12\\n %15 = add nsw i32 %0, 1\\n %16 = mul nsw i32 %14, %15\\n %17 = icmp slt i32 %16, 10\\n %18 = select i1 %17, i32 %16, i32 10\\n %19 = mul nsw i32 %14, %0\\n %20 = icmp slt i32 %19, 10\\n %21 = select i1 %20, i32 %19, i32 10\\n %22 = icmp slt i32 %21, %18\\n br i1 %22, label %for_body.lr.ph, label %for_end, !prof !1\\n\\nfor_body.lr.ph: ; preds = %entry\\n %23 = bitcast float* %4 to <16 x float>*\\n %24 = add i32 %21, 1\\n %25 = sext i32 %24 to i64\\n %26 = add nsw i64 %25, -1\\n %27 = sext i32 %18 to i64\\n %28 = load <16 x float>, <16 x float>* %23, align 64, !tbaa !943\\n %29 = getelementptr inbounds float, float* %4, i64 16\\n %30 = bitcast float* %29 to <16 x float>*\\n %31 = load <16 x float>, <16 x float>* %30, align 64, !tbaa !943\\n %32 = getelementptr inbounds float, float* %4, i64 32\\n %33 = bitcast float* %32 to <16 x float>*\\n %34 = load <16 x float>, <16 x float>* %33, align 64, !tbaa !943\\n %35 = getelementptr inbounds float, float* %4, i64 48\\n %36 = bitcast float* %35 to <16 x float>*\\n %37 = load <16 x float>, <16 x float>* %36, align 64, !tbaa !943\\n %38 = getelementptr inbounds float, float* %4, i64 64\\n %39 = bitcast float* %38 to <16 x float>*\\n %40 = load <16 x float>, <16 x float>* %39, align 64, !tbaa !943\\n %41 = getelementptr inbounds float, float* %4, i64 80\\n %42 = bitcast float* %41 to <16 x float>*\\n %43 = load <16 x float>, <16 x float>* %42, align 64, !tbaa !943\\n %44 = getelementptr inbounds float, float* %4, i64 96\\n %45 = bitcast float* %44 to <16 x float>*\\n %46 = load <16 x float>, <16 x float>* %45, align 64, !tbaa !943\\n %47 = getelementptr inbounds float, float* %4, i64 112\\n %48 = bitcast float* %47 to <16 x float>*\\n %49 = load <16 x float>, <16 x float>* %48, align 64, !tbaa !943\\n %50 = getelementptr inbounds float, float* %4, i64 128\\n %51 = bitcast float* %50 to <16 x float>*\\n %52 = load <16 x float>, <16 x float>* %51, align 64, !tbaa !943\\n %53 = getelementptr inbounds float, float* %4, i64 144\\n %54 = bitcast float* %53 to <16 x float>*\\n %55 = load <16 x float>, <16 x float>* %54, align 64, !tbaa !943\\n %56 = getelementptr inbounds float, float* %4, i64 160\\n %57 = bitcast float* %56 to <16 x float>*\\n %58 = load <16 x float>, <16 x float>* %57, align 64, !tbaa !943\\n %59 = getelementptr inbounds float, float* %4, i64 176\\n %60 = bitcast float* %59 to <16 x float>*\\n %61 = load <16 x float>, <16 x float>* %60, align 64, !tbaa !943\\n %62 = getelementptr inbounds float, float* %4, i64 192\\n %63 = bitcast float* %62 to <16 x float>*\\n %64 = load <16 x float>, <16 x float>* %63, align 64, !tbaa !943\\n %65 = getelementptr inbounds float, float* %4, i64 208\\n %66 = bitcast float* %65 to <16 x float>*\\n %67 = load <16 x float>, <16 x float>* %66, align 64, !tbaa !943\\n %68 = getelementptr inbounds float, float* %4, i64 224\\n %69 = bitcast float* %68 to <16 x float>*\\n %70 = load <16 x float>, <16 x float>* %69, align 64, !tbaa !943\\n %71 = getelementptr inbounds float, float* %4, i64 240\\n %72 = bitcast float* %71 to <16 x float>*\\n %73 = load <16 x float>, <16 x float>* %72, align 64, !tbaa !943\\n br label %for_body\\n\\nfor_body: ; preds = %for_body.lr.ph, %for_body\\n %indvars.iv = phi i64 [ %26, %for_body.lr.ph ], [ %indvars.iv.next, %for_body ]\\n %74 = trunc i64 %indvars.iv to i32\\n %75 = shl i32 %74, 8\\n %76 = shl i32 %74, 8\\n %77 = sext i32 %76 to i64\\n %78 = getelementptr inbounds float, float* %7, i64 %77\\n %79 = bitcast float* %78 to <16 x float>*\\n %80 = load <16 x float>, <16 x float>* %79, align 64, !tbaa !946\\n %81 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %28, <16 x float> %80, <16 x float> zeroinitializer)\\n %82 = insertelement <8 x i32> undef, i32 %74, i32 0\\n %83 = shufflevector <8 x i32> %82, <8 x i32> undef, <8 x i32> zeroinitializer\\n %84 = shl <8 x i32> %83, \\n %85 = or <8 x i32> %84, \\n %86 = extractelement <8 x i32> %85, i32 0\\n %87 = sext i32 %86 to i64\\n %88 = getelementptr inbounds float, float* %7, i64 %87\\n %89 = bitcast float* %88 to <16 x float>*\\n %90 = load <16 x float>, <16 x float>* %89, align 64, !tbaa !946\\n %91 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %31, <16 x float> %90, <16 x float> %81)\\n %92 = extractelement <8 x i32> %85, i32 1\\n %93 = sext i32 %92 to i64\\n %94 = getelementptr inbounds float, float* %7, i64 %93\\n %95 = bitcast float* %94 to <16 x float>*\\n %96 = load <16 x float>, <16 x float>* %95, align 64, !tbaa !946\\n %97 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %34, <16 x float> %96, <16 x float> %91)\\n %98 = extractelement <8 x i32> %85, i32 2\\n %99 = sext i32 %98 to i64\\n %100 = getelementptr inbounds float, float* %7, i64 %99\\n %101 = bitcast float* %100 to <16 x float>*\\n %102 = load <16 x float>, <16 x float>* %101, align 64, !tbaa !946\\n %103 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %37, <16 x float> %102, <16 x float> %97)\\n %104 = extractelement <8 x i32> %85, i32 3\\n %105 = sext i32 %104 to i64\\n %106 = getelementptr inbounds float, float* %7, i64 %105\\n %107 = bitcast float* %106 to <16 x float>*\\n %108 = load <16 x float>, <16 x float>* %107, align 64, !tbaa !946\\n %109 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %40, <16 x float> %108, <16 x float> %103)\\n %110 = extractelement <8 x i32> %85, i32 4\\n %111 = sext i32 %110 to i64\\n %112 = getelementptr inbounds float, float* %7, i64 %111\\n %113 = bitcast float* %112 to <16 x float>*\\n %114 = load <16 x float>, <16 x float>* %113, align 64, !tbaa !946\\n %115 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %43, <16 x float> %114, <16 x float> %109)\\n %116 = extractelement <8 x i32> %85, i32 5\\n %117 = sext i32 %116 to i64\\n %118 = getelementptr inbounds float, float* %7, i64 %117\\n %119 = bitcast float* %118 to <16 x float>*\\n %120 = load <16 x float>, <16 x float>* %119, align 64, !tbaa !946\\n %121 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %46, <16 x float> %120, <16 x float> %115)\\n %122 = extractelement <8 x i32> %85, i32 6\\n %123 = sext i32 %122 to i64\\n %124 = getelementptr inbounds float, float* %7, i64 %123\\n %125 = bitcast float* %124 to <16 x float>*\\n %126 = load <16 x float>, <16 x float>* %125, align 64, !tbaa !946\\n %127 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %49, <16 x float> %126, <16 x float> %121)\\n %128 = extractelement <8 x i32> %85, i32 7\\n %129 = sext i32 %128 to i64\\n %130 = getelementptr inbounds float, float* %7, i64 %129\\n %131 = bitcast float* %130 to <16 x float>*\\n %132 = load <16 x float>, <16 x float>* %131, align 64, !tbaa !946\\n %133 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %52, <16 x float> %132, <16 x float> %127)\\n %134 = shl i32 %74, 8\\n %135 = or i32 %134, 144\\n %136 = sext i32 %135 to i64\\n %137 = getelementptr inbounds float, float* %7, i64 %136\\n %138 = bitcast float* %137 to <16 x float>*\\n %139 = load <16 x float>, <16 x float>* %138, align 64, !tbaa !946\\n %140 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %55, <16 x float> %139, <16 x float> %133)\\n %141 = shl i32 %74, 8\\n %142 = or i32 %141, 160\\n %143 = sext i32 %142 to i64\\n %144 = getelementptr inbounds float, float* %7, i64 %143\\n %145 = bitcast float* %144 to <16 x float>*\\n %146 = load <16 x float>, <16 x float>* %145, align 64, !tbaa !946\\n %147 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %58, <16 x float> %146, <16 x float> %140)\\n %148 = shl i32 %74, 8\\n %149 = or i32 %148, 176\\n %150 = sext i32 %149 to i64\\n %151 = getelementptr inbounds float, float* %7, i64 %150\\n %152 = bitcast float* %151 to <16 x float>*\\n %153 = load <16 x float>, <16 x float>* %152, align 64, !tbaa !946\\n %154 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %61, <16 x float> %153, <16 x float> %147)\\n %155 = shl i32 %74, 8\\n %156 = or i32 %155, 192\\n %157 = sext i32 %156 to i64\\n %158 = getelementptr inbounds float, float* %7, i64 %157\\n %159 = bitcast float* %158 to <16 x float>*\\n %160 = load <16 x float>, <16 x float>* %159, align 64, !tbaa !946\\n %161 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %64, <16 x float> %160, <16 x float> %154)\\n %162 = shl i32 %74, 8\\n %163 = or i32 %162, 208\\n %164 = sext i32 %163 to i64\\n %165 = getelementptr inbounds float, float* %7, i64 %164\\n %166 = bitcast float* %165 to <16 x float>*\\n %167 = load <16 x float>, <16 x float>* %166, align 64, !tbaa !946\\n %168 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %67, <16 x float> %167, <16 x float> %161)\\n %169 = shl i32 %74, 8\\n %170 = or i32 %169, 224\\n %171 = sext i32 %170 to i64\\n %172 = getelementptr inbounds float, float* %7, i64 %171\\n %173 = bitcast float* %172 to <16 x float>*\\n %174 = load <16 x float>, <16 x float>* %173, align 64, !tbaa !946\\n %175 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %70, <16 x float> %174, <16 x float> %168)\\n %176 = or i32 %75, 240\\n %177 = sext i32 %176 to i64\\n %178 = getelementptr inbounds float, float* %7, i64 %177\\n %179 = bitcast float* %178 to <16 x float>*\\n %180 = load <16 x float>, <16 x float>* %179, align 64, !tbaa !946\\n %181 = tail call <16 x float> @llvm.fmuladd.v16f32(<16 x float> %73, <16 x float> %180, <16 x float> %175)\\n %182 = getelementptr inbounds float, float* %10, i64 %indvars.iv\\n %.0.vec.extract = extractelement <16 x float> %181, i32 0\\n %183 = fadd float %.0.vec.extract, 0.000000e+00\\n %.4.vec.extract = extractelement <16 x float> %181, i32 1\\n %184 = fadd float %.4.vec.extract, %183\\n %.8.vec.extract = extractelement <16 x float> %181, i32 2\\n %185 = fadd float %.8.vec.extract, %184\\n %.12.vec.extract = extractelement <16 x float> %181, i32 3\\n %186 = fadd float %.12.vec.extract, %185\\n %.16.vec.extract = extractelement <16 x float> %181, i32 4\\n %187 = fadd float %.16.vec.extract, %186\\n %.20.vec.extract = extractelement <16 x float> %181, i32 5\\n %188 = fadd float %.20.vec.extract, %187\\n %.24.vec.extract = extractelement <16 x float> %181, i32 6\\n %189 = fadd float %.24.vec.extract, %188\\n %.28.vec.extract = extractelement <16 x float> %181, i32 7\\n %190 = fadd float %.28.vec.extract, %189\\n %.32.vec.extract = extractelement <16 x float> %181, i32 8\\n %191 = fadd float %.32.vec.extract, %190\\n %.36.vec.extract = extractelement <16 x float> %181, i32 9\\n %192 = fadd float %.36.vec.extract, %191\\n %.40.vec.extract = extractelement <16 x float> %181, i32 10\\n %193 = fadd float %.40.vec.extract, %192\\n %.44.vec.extract = extractelement <16 x float> %181, i32 11\\n %194 = fadd float %.44.vec.extract, %193\\n %.48.vec.extract = extractelement <16 x float> %181, i32 12\\n %195 = fadd float %.48.vec.extract, %194\\n %.52.vec.extract = extractelement <16 x float> %181, i32 13\\n %196 = fadd float %.52.vec.extract, %195\\n %.56.vec.extract = extractelement <16 x float> %181, i32 14\\n %197 = fadd float %.56.vec.extract, %196\\n %.60.vec.extract = extractelement <16 x float> %181, i32 15\\n %198 = fadd float %.60.vec.extract, %197\\n store float %198, float* %182, align 4, !tbaa !937\\n %indvars.iv.next = add nsw i64 %indvars.iv, 1\\n %199 = icmp slt i64 %indvars.iv.next, %27\\n br i1 %199, label %for_body, label %for_end, !prof !1\\n\\nfor_end: ; preds = %for_body, %entry\\n ret i32 0\\n}\\n\\n; Function Attrs: nounwind readnone speculatable\\ndeclare <16 x float> @llvm.fmuladd.v16f32(<16 x float>, <16 x float>, <16 x float>) #4\\n\\ndefine dllexport i32 @fused_nn_max_pool2d(i8* noalias nocapture readonly, i8* noalias nocapture readonly, i32) local_unnamed_addr {\\nentry:\\n %3 = icmp eq i32 %2, 2\\n br i1 %3, label %assert_end, label %assert_fail, !prof !1\\n\\nassert_fail: ; preds = %entry\\n %4 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %4(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.116, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end: ; preds = %entry\\n %5 = bitcast i8* %0 to %1**\\n %6 = load %1*, %1** %5, align 8\\n %7 = bitcast i8* %1 to i32*\\n %8 = load i32, i32* %7, align 4, !tbaa !949\\n %9 = getelementptr inbounds i8, i8* %0, i64 8\\n %10 = bitcast i8* %9 to %1**\\n %11 = load %1*, %1** %10, align 8\\n %12 = getelementptr inbounds i8, i8* %1, i64 4\\n %13 = bitcast i8* %12 to i32*\\n %14 = load i32, i32* %13, align 4, !tbaa !963\\n %15 = getelementptr inbounds %1, %1* %6, i64 0, i32 0\\n %16 = load i8*, i8** %15, align 8\\n %17 = getelementptr inbounds %1, %1* %6, i64 0, i32 4\\n %18 = load i64*, i64** %17, align 8\\n %19 = getelementptr inbounds %1, %1* %6, i64 0, i32 5\\n %20 = load i64*, i64** %19, align 8\\n %21 = icmp eq i64* %20, null\\n br i1 %21, label %if_end, label %if_then, !prof !21\\n\\nif_then: ; preds = %assert_end\\n %22 = load i64, i64* %20, align 8, !tbaa !965\\n %23 = trunc i64 %22 to i32\\n %24 = icmp eq i32 %23, 1024\\n %25 = getelementptr inbounds i64, i64* %20, i64 1\\n %26 = load i64, i64* %25, align 8, !tbaa !979\\n %27 = trunc i64 %26 to i32\\n %28 = icmp eq i32 %27, 512\\n %29 = getelementptr inbounds i64, i64* %20, i64 2\\n %30 = load i64, i64* %29, align 8, !tbaa !981\\n %31 = trunc i64 %30 to i32\\n %32 = icmp eq i32 %31, 64\\n %33 = getelementptr inbounds i64, i64* %20, i64 3\\n %34 = load i64, i64* %33, align 8, !tbaa !984\\n %35 = trunc i64 %34 to i32\\n %36 = icmp eq i32 %35, 8\\n %37 = getelementptr inbounds i64, i64* %20, i64 4\\n %38 = load i64, i64* %37, align 8, !tbaa !986\\n %39 = trunc i64 %38 to i32\\n %40 = icmp eq i32 %39, 1\\n %41 = and i1 %36, %40\\n %42 = and i1 %32, %41\\n %43 = and i1 %28, %42\\n %44 = and i1 %24, %43\\n br i1 %44, label %if_end, label %assert_fail1, !prof !1\\n\\nif_end: ; preds = %assert_end, %if_then\\n %45 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 0\\n %46 = load i32, i32* %45, align 4\\n %47 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 1\\n %48 = load i32, i32* %47, align 4\\n %49 = getelementptr inbounds %1, %1* %11, i64 0, i32 0\\n %50 = load i8*, i8** %49, align 8\\n %51 = getelementptr inbounds %1, %1* %11, i64 0, i32 4\\n %52 = load i64*, i64** %51, align 8\\n %53 = getelementptr inbounds %1, %1* %11, i64 0, i32 5\\n %54 = load i64*, i64** %53, align 8\\n %55 = icmp eq i64* %54, null\\n br i1 %55, label %if_end4, label %if_then3, !prof !21\\n\\nassert_fail1: ; preds = %if_then\\n %56 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %56(i8* getelementptr inbounds ([233 x i8], [233 x i8]* @.str.117, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then3: ; preds = %if_end\\n %57 = load i64, i64* %54, align 8, !tbaa !990\\n %58 = trunc i64 %57 to i32\\n %59 = icmp eq i32 %58, 64\\n %60 = getelementptr inbounds i64, i64* %54, i64 1\\n %61 = load i64, i64* %60, align 8, !tbaa !1004\\n %62 = trunc i64 %61 to i32\\n %63 = icmp eq i32 %62, 32\\n %64 = getelementptr inbounds i64, i64* %54, i64 2\\n %65 = load i64, i64* %64, align 8, !tbaa !1006\\n %66 = trunc i64 %65 to i32\\n %67 = icmp eq i32 %66, 16\\n %68 = getelementptr inbounds i64, i64* %54, i64 3\\n %69 = load i64, i64* %68, align 8, !tbaa !1009\\n %70 = trunc i64 %69 to i32\\n %71 = icmp eq i32 %70, 8\\n %72 = getelementptr inbounds i64, i64* %54, i64 4\\n %73 = load i64, i64* %72, align 8, !tbaa !1011\\n %74 = trunc i64 %73 to i32\\n %75 = icmp eq i32 %74, 1\\n %76 = and i1 %71, %75\\n %77 = and i1 %67, %76\\n %78 = and i1 %63, %77\\n %79 = and i1 %59, %78\\n br i1 %79, label %if_end4, label %assert_fail5, !prof !1\\n\\nif_end4: ; preds = %if_end, %if_then3\\n switch i32 %8, label %assert_fail7 [\\n i32 13, label %assert_end8\\n i32 7, label %assert_end8\\n i32 4, label %assert_end8\\n i32 3, label %assert_end8\\n ]\\n\\nassert_fail5: ; preds = %if_then3\\n %80 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %80(i8* getelementptr inbounds ([230 x i8], [230 x i8]* @.str.118, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_fail7: ; preds = %if_end4\\n %81 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %81(i8* getelementptr inbounds ([147 x i8], [147 x i8]* @.str.119, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end8: ; preds = %if_end4, %if_end4, %if_end4, %if_end4\\n switch i32 %14, label %assert_fail9 [\\n i32 13, label %assert_end10\\n i32 7, label %assert_end10\\n i32 4, label %assert_end10\\n i32 3, label %assert_end10\\n ]\\n\\nassert_fail9: ; preds = %assert_end8\\n %82 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %82(i8* getelementptr inbounds ([147 x i8], [147 x i8]* @.str.120, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end10: ; preds = %assert_end8, %assert_end8, %assert_end8, %assert_end8\\n %83 = icmp eq i32 %46, 1\\n br i1 %83, label %assert_end12, label %assert_fail11, !prof !1\\n\\nassert_fail11: ; preds = %assert_end10\\n %84 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %84(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.5, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end12: ; preds = %assert_end10\\n %85 = getelementptr inbounds %1, %1* %6, i64 0, i32 2\\n %86 = load i32, i32* %85, align 4\\n %87 = icmp eq i32 %86, 5\\n br i1 %87, label %assert_end14, label %assert_fail13, !prof !1\\n\\nassert_fail13: ; preds = %assert_end12\\n %88 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %88(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.66, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end14: ; preds = %assert_end12\\n %89 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 2\\n %90 = load i16, i16* %89, align 2\\n %91 = icmp eq i16 %90, 1\\n %92 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 1\\n %93 = load i8, i8* %92, align 1\\n %94 = icmp eq i8 %93, 32\\n %95 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 0\\n %96 = load i8, i8* %95, align 1\\n %97 = icmp eq i8 %96, 2\\n %98 = and i1 %94, %97\\n %99 = and i1 %91, %98\\n br i1 %99, label %assert_end16, label %assert_fail15, !prof !1\\n\\nassert_fail15: ; preds = %assert_end14\\n %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %100(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.7, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end16: ; preds = %assert_end14\\n %101 = load i64, i64* %18, align 8, !tbaa !1015\\n %102 = trunc i64 %101 to i32\\n %103 = icmp eq i32 %102, 1\\n br i1 %103, label %assert_end18, label %assert_fail17, !prof !1\\n\\nassert_fail17: ; preds = %assert_end16\\n %104 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %104(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.54, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end18: ; preds = %assert_end16\\n %105 = getelementptr inbounds i64, i64* %18, i64 1\\n %106 = load i64, i64* %105, align 8, !tbaa !1029\\n %107 = trunc i64 %106 to i32\\n %108 = icmp eq i32 %107, 2\\n br i1 %108, label %assert_end20, label %assert_fail19, !prof !1\\n\\nassert_fail19: ; preds = %assert_end18\\n %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %109(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.67, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end20: ; preds = %assert_end18\\n %110 = getelementptr inbounds i64, i64* %18, i64 2\\n %111 = load i64, i64* %110, align 8, !tbaa !1031\\n %112 = trunc i64 %111 to i32\\n %113 = icmp eq i32 %112, 8\\n br i1 %113, label %assert_end22, label %assert_fail21, !prof !1\\n\\nassert_fail21: ; preds = %assert_end20\\n %114 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %114(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.121, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end22: ; preds = %assert_end20\\n %115 = getelementptr inbounds i64, i64* %18, i64 3\\n %116 = load i64, i64* %115, align 8, !tbaa !1034\\n %117 = trunc i64 %116 to i32\\n %118 = icmp eq i32 %117, 8\\n br i1 %118, label %assert_end24, label %assert_fail23, !prof !1\\n\\nassert_fail23: ; preds = %assert_end22\\n %119 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %119(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.122, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end24: ; preds = %assert_end22\\n %120 = getelementptr inbounds i64, i64* %18, i64 4\\n %121 = load i64, i64* %120, align 8, !tbaa !1036\\n %122 = trunc i64 %121 to i32\\n %123 = icmp eq i32 %122, 8\\n br i1 %123, label %assert_end26, label %assert_fail25, !prof !1\\n\\nassert_fail25: ; preds = %assert_end24\\n %124 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %124(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.70, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end26: ; preds = %assert_end24\\n %125 = getelementptr inbounds %1, %1* %6, i64 0, i32 6\\n %126 = load i64, i64* %125, align 8\\n %127 = icmp eq i64 %126, 0\\n br i1 %127, label %assert_end28, label %assert_fail27, !prof !1\\n\\nassert_fail27: ; preds = %assert_end26\\n %128 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %128(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.12, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end28: ; preds = %assert_end26\\n %129 = getelementptr inbounds %1, %1* %11, i64 0, i32 2\\n %130 = load i32, i32* %129, align 4\\n %131 = icmp eq i32 %130, 5\\n br i1 %131, label %assert_end30, label %assert_fail29, !prof !1\\n\\nassert_fail29: ; preds = %assert_end28\\n %132 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %132(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.57, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end30: ; preds = %assert_end28\\n %133 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 2\\n %134 = load i16, i16* %133, align 2\\n %135 = icmp eq i16 %134, 1\\n %136 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 1\\n %137 = load i8, i8* %136, align 1\\n %138 = icmp eq i8 %137, 32\\n %139 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 0\\n %140 = load i8, i8* %139, align 1\\n %141 = icmp eq i8 %140, 2\\n %142 = and i1 %138, %141\\n %143 = and i1 %135, %142\\n br i1 %143, label %assert_end32, label %assert_fail31, !prof !1\\n\\nassert_fail31: ; preds = %assert_end30\\n %144 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %144(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.14, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end32: ; preds = %assert_end30\\n %145 = load i64, i64* %52, align 8, !tbaa !1040\\n %146 = trunc i64 %145 to i32\\n %147 = icmp eq i32 %146, 1\\n br i1 %147, label %assert_end34, label %assert_fail33, !prof !1\\n\\nassert_fail33: ; preds = %assert_end32\\n %148 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %148(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.46, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end34: ; preds = %assert_end32\\n %149 = getelementptr inbounds i64, i64* %52, i64 1\\n %150 = load i64, i64* %149, align 8, !tbaa !1054\\n %151 = trunc i64 %150 to i32\\n %152 = icmp eq i32 %151, 2\\n br i1 %152, label %assert_end36, label %assert_fail35, !prof !1\\n\\nassert_fail35: ; preds = %assert_end34\\n %153 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %153(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.123, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end36: ; preds = %assert_end34\\n %154 = getelementptr inbounds i64, i64* %52, i64 2\\n %155 = load i64, i64* %154, align 8, !tbaa !1056\\n %156 = trunc i64 %155 to i32\\n %157 = icmp eq i32 %156, 2\\n br i1 %157, label %assert_end38, label %assert_fail37, !prof !1\\n\\nassert_fail37: ; preds = %assert_end36\\n %158 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %158(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.124, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end38: ; preds = %assert_end36\\n %159 = getelementptr inbounds i64, i64* %52, i64 3\\n %160 = load i64, i64* %159, align 8, !tbaa !1059\\n %161 = trunc i64 %160 to i32\\n %162 = icmp eq i32 %161, 2\\n br i1 %162, label %assert_end40, label %assert_fail39, !prof !1\\n\\nassert_fail39: ; preds = %assert_end38\\n %163 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %163(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.125, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end40: ; preds = %assert_end38\\n %164 = getelementptr inbounds i64, i64* %52, i64 4\\n %165 = load i64, i64* %164, align 8, !tbaa !1061\\n %166 = trunc i64 %165 to i32\\n %167 = icmp eq i32 %166, 8\\n br i1 %167, label %assert_end42, label %assert_fail41, !prof !1\\n\\nassert_fail41: ; preds = %assert_end40\\n %168 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %168(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.33, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end42: ; preds = %assert_end40\\n %169 = getelementptr inbounds %1, %1* %11, i64 0, i32 6\\n %170 = load i64, i64* %169, align 8\\n %171 = icmp eq i64 %170, 0\\n br i1 %171, label %assert_end44, label %assert_fail43, !prof !1\\n\\nassert_fail43: ; preds = %assert_end42\\n %172 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %172(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.17, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end44: ; preds = %assert_end42\\n %173 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 0\\n %174 = load i32, i32* %173, align 4\\n %175 = icmp eq i32 %174, 1\\n br i1 %175, label %assert_end46, label %assert_fail45, !prof !1\\n\\nassert_fail45: ; preds = %assert_end44\\n %176 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %176(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.18, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end46: ; preds = %assert_end44\\n %177 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 1\\n %178 = load i32, i32* %177, align 4\\n %179 = icmp eq i32 %48, %178\\n br i1 %179, label %assert_end48, label %assert_fail47, !prof !1\\n\\nassert_fail47: ; preds = %assert_end46\\n %180 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %180(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.19, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end48: ; preds = %assert_end46\\n %181 = tail call fastcc i32 @fused_nn_max_pool2d_compute_(i8* %50, i8* %16)\\n ret i32 %181\\n}\\n\\n; Function Attrs: noinline\\ndefine private fastcc i32 @fused_nn_max_pool2d_compute_(i8* noalias, i8* noalias) unnamed_addr #0 {\\nentry:\\n %2 = alloca %9, align 8\\n %3 = getelementptr inbounds %9, %9* %2, i64 0, i32 0\\n store i8* %0, i8** %3, align 8\\n %4 = getelementptr inbounds %9, %9* %2, i64 0, i32 1\\n store i8* %1, i8** %4, align 8\\n %5 = bitcast %9* %2 to i8*\\n %6 = load i32 (i32 (i32, %0*, i8*)*, i8*, i32)*, i32 (i32 (i32, %0*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !2\\n %7 = call i32 %6(i32 (i32, %0*, i8*)* nonnull @__tvm_parallel_lambda.126, i8* nonnull %5, i32 0)\\n ret i32 %7\\n}\\n\\n; Function Attrs: norecurse nounwind\\ndefine private i32 @__tvm_parallel_lambda.126(i32, %0* nocapture readonly, i8* nocapture readonly) #1 {\\nentry:\\n %3 = bitcast i8* %2 to float**\\n %4 = load float*, float** %3, align 8\\n %5 = getelementptr inbounds i8, i8* %2, i64 8\\n %6 = bitcast i8* %5 to float**\\n %7 = load float*, float** %6, align 8\\n %8 = getelementptr inbounds %0, %0* %1, i64 0, i32 1\\n %9 = load i32, i32* %8, align 4\\n %10 = add nsw i32 %9, 3\\n %11 = sdiv i32 %10, %9\\n %12 = add nsw i32 %0, 1\\n %13 = mul nsw i32 %11, %12\\n %14 = icmp slt i32 %13, 4\\n %15 = select i1 %14, i32 %13, i32 4\\n %16 = mul nsw i32 %11, %0\\n %17 = icmp slt i32 %16, 4\\n %18 = select i1 %17, i32 %16, i32 4\\n %19 = icmp slt i32 %18, %15\\n br i1 %19, label %for_body.lr.ph, label %for_end, !prof !1\\n\\nfor_body.lr.ph: ; preds = %entry\\n %20 = add i32 %18, 1\\n %21 = sext i32 %20 to i64\\n %22 = add nsw i64 %21, -1\\n %23 = sext i32 %15 to i64\\n br label %for_body\\n\\nfor_body: ; preds = %for_body.lr.ph, %for_body\\n %indvars.iv = phi i64 [ %22, %for_body.lr.ph ], [ %indvars.iv.next, %for_body ]\\n %24 = trunc i64 %indvars.iv to i32\\n %25 = shl i32 %24, 4\\n %26 = srem i32 %24, 2\\n %27 = mul nsw i32 %26, 192\\n %28 = sdiv i32 %24, 2\\n %29 = shl i32 %28, 9\\n %30 = add nsw i32 %29, %27\\n %31 = shl i32 %24, 4\\n %32 = sext i32 %31 to i64\\n %33 = getelementptr inbounds float, float* %4, i64 %32\\n %34 = bitcast float* %33 to <8 x float>*\\n %35 = sext i32 %30 to i64\\n %36 = getelementptr inbounds float, float* %7, i64 %35\\n %37 = bitcast float* %36 to <8 x float>*\\n %38 = load <8 x float>, <8 x float>* %37, align 32, !tbaa !1065\\n %39 = fcmp olt <8 x float> %38, \\n %40 = select <8 x i1> %39, <8 x float> , <8 x float> %38\\n %41 = or i32 %30, 8\\n %42 = sext i32 %41 to i64\\n %43 = getelementptr inbounds float, float* %7, i64 %42\\n %44 = bitcast float* %43 to <8 x float>*\\n %45 = load <8 x float>, <8 x float>* %44, align 32, !tbaa !1065\\n %46 = fcmp ogt <8 x float> %40, %45\\n %47 = select <8 x i1> %46, <8 x float> %40, <8 x float> %45\\n %48 = or i32 %30, 16\\n %49 = sext i32 %48 to i64\\n %50 = getelementptr inbounds float, float* %7, i64 %49\\n %51 = bitcast float* %50 to <8 x float>*\\n %52 = load <8 x float>, <8 x float>* %51, align 32, !tbaa !1065\\n %53 = fcmp ogt <8 x float> %47, %52\\n %54 = select <8 x i1> %53, <8 x float> %47, <8 x float> %52\\n %55 = add i32 %30, 64\\n %56 = sext i32 %55 to i64\\n %57 = getelementptr inbounds float, float* %7, i64 %56\\n %58 = bitcast float* %57 to <8 x float>*\\n %59 = load <8 x float>, <8 x float>* %58, align 32, !tbaa !1065\\n %60 = fcmp ogt <8 x float> %54, %59\\n %61 = select <8 x i1> %60, <8 x float> %54, <8 x float> %59\\n %62 = add i32 %30, 72\\n %63 = sext i32 %62 to i64\\n %64 = getelementptr inbounds float, float* %7, i64 %63\\n %65 = bitcast float* %64 to <8 x float>*\\n %66 = load <8 x float>, <8 x float>* %65, align 32, !tbaa !1065\\n %67 = fcmp ogt <8 x float> %61, %66\\n %68 = select <8 x i1> %67, <8 x float> %61, <8 x float> %66\\n %69 = add i32 %30, 80\\n %70 = sext i32 %69 to i64\\n %71 = getelementptr inbounds float, float* %7, i64 %70\\n %72 = bitcast float* %71 to <8 x float>*\\n %73 = load <8 x float>, <8 x float>* %72, align 32, !tbaa !1065\\n %74 = fcmp ogt <8 x float> %68, %73\\n %75 = select <8 x i1> %74, <8 x float> %68, <8 x float> %73\\n %76 = add i32 %30, 128\\n %77 = sext i32 %76 to i64\\n %78 = getelementptr inbounds float, float* %7, i64 %77\\n %79 = bitcast float* %78 to <8 x float>*\\n %80 = load <8 x float>, <8 x float>* %79, align 32, !tbaa !1065\\n %81 = fcmp ogt <8 x float> %75, %80\\n %82 = select <8 x i1> %81, <8 x float> %75, <8 x float> %80\\n %83 = add i32 %30, 136\\n %84 = sext i32 %83 to i64\\n %85 = getelementptr inbounds float, float* %7, i64 %84\\n %86 = bitcast float* %85 to <8 x float>*\\n %87 = load <8 x float>, <8 x float>* %86, align 32, !tbaa !1065\\n %88 = fcmp ogt <8 x float> %82, %87\\n %89 = select <8 x i1> %88, <8 x float> %82, <8 x float> %87\\n %90 = add i32 %30, 144\\n %91 = sext i32 %90 to i64\\n %92 = getelementptr inbounds float, float* %7, i64 %91\\n %93 = bitcast float* %92 to <8 x float>*\\n %94 = load <8 x float>, <8 x float>* %93, align 32, !tbaa !1065\\n %95 = fcmp ogt <8 x float> %89, %94\\n %96 = select <8 x i1> %95, <8 x float> %89, <8 x float> %94\\n store <8 x float> %96, <8 x float>* %34, align 32, !tbaa !1068\\n %97 = or i32 %25, 8\\n %98 = sext i32 %97 to i64\\n %99 = getelementptr inbounds float, float* %4, i64 %98\\n %100 = bitcast float* %99 to <8 x float>*\\n %101 = or i32 %30, 24\\n %102 = or i32 %30, 24\\n %103 = sext i32 %101 to i64\\n %104 = getelementptr inbounds float, float* %7, i64 %103\\n %105 = bitcast float* %104 to <8 x float>*\\n %106 = load <8 x float>, <8 x float>* %105, align 32, !tbaa !1065\\n %107 = fcmp olt <8 x float> %106, \\n %108 = select <8 x i1> %107, <8 x float> , <8 x float> %106\\n %109 = add nsw i32 %102, 8\\n %110 = sext i32 %109 to i64\\n %111 = getelementptr inbounds float, float* %7, i64 %110\\n %112 = bitcast float* %111 to <8 x float>*\\n %113 = load <8 x float>, <8 x float>* %112, align 32, !tbaa !1065\\n %114 = fcmp ogt <8 x float> %108, %113\\n %115 = select <8 x i1> %114, <8 x float> %108, <8 x float> %113\\n %116 = add nsw i32 %102, 16\\n %117 = sext i32 %116 to i64\\n %118 = getelementptr inbounds float, float* %7, i64 %117\\n %119 = bitcast float* %118 to <8 x float>*\\n %120 = load <8 x float>, <8 x float>* %119, align 32, !tbaa !1065\\n %121 = fcmp ogt <8 x float> %115, %120\\n %122 = select <8 x i1> %121, <8 x float> %115, <8 x float> %120\\n %123 = add i32 %102, 64\\n %124 = sext i32 %123 to i64\\n %125 = getelementptr inbounds float, float* %7, i64 %124\\n %126 = bitcast float* %125 to <8 x float>*\\n %127 = load <8 x float>, <8 x float>* %126, align 32, !tbaa !1065\\n %128 = fcmp ogt <8 x float> %122, %127\\n %129 = select <8 x i1> %128, <8 x float> %122, <8 x float> %127\\n %130 = add i32 %102, 72\\n %131 = sext i32 %130 to i64\\n %132 = getelementptr inbounds float, float* %7, i64 %131\\n %133 = bitcast float* %132 to <8 x float>*\\n %134 = load <8 x float>, <8 x float>* %133, align 32, !tbaa !1065\\n %135 = fcmp ogt <8 x float> %129, %134\\n %136 = select <8 x i1> %135, <8 x float> %129, <8 x float> %134\\n %137 = add i32 %102, 80\\n %138 = sext i32 %137 to i64\\n %139 = getelementptr inbounds float, float* %7, i64 %138\\n %140 = bitcast float* %139 to <8 x float>*\\n %141 = load <8 x float>, <8 x float>* %140, align 32, !tbaa !1065\\n %142 = fcmp ogt <8 x float> %136, %141\\n %143 = select <8 x i1> %142, <8 x float> %136, <8 x float> %141\\n %144 = add i32 %102, 128\\n %145 = sext i32 %144 to i64\\n %146 = getelementptr inbounds float, float* %7, i64 %145\\n %147 = bitcast float* %146 to <8 x float>*\\n %148 = load <8 x float>, <8 x float>* %147, align 32, !tbaa !1065\\n %149 = fcmp ogt <8 x float> %143, %148\\n %150 = select <8 x i1> %149, <8 x float> %143, <8 x float> %148\\n %151 = add i32 %102, 136\\n %152 = sext i32 %151 to i64\\n %153 = getelementptr inbounds float, float* %7, i64 %152\\n %154 = bitcast float* %153 to <8 x float>*\\n %155 = load <8 x float>, <8 x float>* %154, align 32, !tbaa !1065\\n %156 = fcmp ogt <8 x float> %150, %155\\n %157 = select <8 x i1> %156, <8 x float> %150, <8 x float> %155\\n %158 = add i32 %102, 144\\n %159 = sext i32 %158 to i64\\n %160 = getelementptr inbounds float, float* %7, i64 %159\\n %161 = bitcast float* %160 to <8 x float>*\\n %162 = load <8 x float>, <8 x float>* %161, align 32, !tbaa !1065\\n %163 = fcmp ogt <8 x float> %157, %162\\n %164 = select <8 x i1> %163, <8 x float> %157, <8 x float> %162\\n store <8 x float> %164, <8 x float>* %100, align 32, !tbaa !1068\\n %indvars.iv.next = add nsw i64 %indvars.iv, 1\\n %165 = icmp slt i64 %indvars.iv.next, %23\\n br i1 %165, label %for_body, label %for_end, !prof !1\\n\\nfor_end: ; preds = %for_body, %entry\\n ret i32 0\\n}\\n\\ndefine dllexport i32 @fused_layout_transform_3(i8* noalias nocapture readonly, i8* noalias nocapture readonly, i32) local_unnamed_addr {\\nentry:\\n %3 = icmp eq i32 %2, 2\\n br i1 %3, label %assert_end, label %assert_fail, !prof !1\\n\\nassert_fail: ; preds = %entry\\n %4 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %4(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.127, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end: ; preds = %entry\\n %5 = bitcast i8* %0 to %1**\\n %6 = load %1*, %1** %5, align 8\\n %7 = bitcast i8* %1 to i32*\\n %8 = load i32, i32* %7, align 4, !tbaa !1071\\n %9 = getelementptr inbounds i8, i8* %0, i64 8\\n %10 = bitcast i8* %9 to %1**\\n %11 = load %1*, %1** %10, align 8\\n %12 = getelementptr inbounds i8, i8* %1, i64 4\\n %13 = bitcast i8* %12 to i32*\\n %14 = load i32, i32* %13, align 4, !tbaa !1085\\n %15 = getelementptr inbounds %1, %1* %6, i64 0, i32 0\\n %16 = load i8*, i8** %15, align 8\\n %17 = getelementptr inbounds %1, %1* %6, i64 0, i32 4\\n %18 = load i64*, i64** %17, align 8\\n %19 = getelementptr inbounds %1, %1* %6, i64 0, i32 5\\n %20 = load i64*, i64** %19, align 8\\n %21 = icmp eq i64* %20, null\\n br i1 %21, label %if_end, label %if_then, !prof !21\\n\\nif_then: ; preds = %assert_end\\n %22 = load i64, i64* %20, align 8, !tbaa !1087\\n %23 = trunc i64 %22 to i32\\n %24 = icmp eq i32 %23, 1\\n %25 = getelementptr inbounds i64, i64* %20, i64 1\\n %26 = load i64, i64* %25, align 8, !tbaa !1101\\n %27 = trunc i64 %26 to i32\\n %28 = icmp eq i32 %27, 1\\n %29 = getelementptr inbounds i64, i64* %20, i64 2\\n %30 = load i64, i64* %29, align 8, !tbaa !1103\\n %31 = trunc i64 %30 to i32\\n %32 = icmp eq i32 %31, 1\\n %33 = and i1 %28, %32\\n %34 = and i1 %24, %33\\n br i1 %34, label %if_end, label %assert_fail1, !prof !1\\n\\nif_end: ; preds = %assert_end, %if_then\\n %35 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 0\\n %36 = load i32, i32* %35, align 4\\n %37 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 1\\n %38 = load i32, i32* %37, align 4\\n %39 = getelementptr inbounds %1, %1* %11, i64 0, i32 0\\n %40 = load i8*, i8** %39, align 8\\n %41 = getelementptr inbounds %1, %1* %11, i64 0, i32 4\\n %42 = load i64*, i64** %41, align 8\\n %43 = getelementptr inbounds %1, %1* %11, i64 0, i32 5\\n %44 = load i64*, i64** %43, align 8\\n %45 = icmp eq i64* %44, null\\n br i1 %45, label %if_end4, label %if_then3, !prof !21\\n\\nassert_fail1: ; preds = %if_then\\n %46 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %46(i8* getelementptr inbounds ([157 x i8], [157 x i8]* @.str.37, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then3: ; preds = %if_end\\n %47 = load i64, i64* %44, align 8, !tbaa !1106\\n %48 = trunc i64 %47 to i32\\n %49 = icmp eq i32 %48, 8\\n %50 = getelementptr inbounds i64, i64* %44, i64 1\\n %51 = load i64, i64* %50, align 8, !tbaa !1120\\n %52 = trunc i64 %51 to i32\\n %53 = icmp eq i32 %52, 8\\n %54 = getelementptr inbounds i64, i64* %44, i64 2\\n %55 = load i64, i64* %54, align 8, !tbaa !1122\\n %56 = trunc i64 %55 to i32\\n %57 = icmp eq i32 %56, 8\\n %58 = getelementptr inbounds i64, i64* %44, i64 3\\n %59 = load i64, i64* %58, align 8, !tbaa !1125\\n %60 = trunc i64 %59 to i32\\n %61 = icmp eq i32 %60, 1\\n %62 = and i1 %57, %61\\n %63 = and i1 %53, %62\\n %64 = and i1 %49, %63\\n br i1 %64, label %if_end4, label %assert_fail5, !prof !1\\n\\nif_end4: ; preds = %if_end, %if_then3\\n switch i32 %8, label %assert_fail7 [\\n i32 13, label %assert_end8\\n i32 7, label %assert_end8\\n i32 4, label %assert_end8\\n i32 3, label %assert_end8\\n ]\\n\\nassert_fail5: ; preds = %if_then3\\n %65 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %65(i8* getelementptr inbounds ([192 x i8], [192 x i8]* @.str.38, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_fail7: ; preds = %if_end4\\n %66 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %66(i8* getelementptr inbounds ([152 x i8], [152 x i8]* @.str.128, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end8: ; preds = %if_end4, %if_end4, %if_end4, %if_end4\\n switch i32 %14, label %assert_fail9 [\\n i32 13, label %assert_end10\\n i32 7, label %assert_end10\\n i32 4, label %assert_end10\\n i32 3, label %assert_end10\\n ]\\n\\nassert_fail9: ; preds = %assert_end8\\n %67 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %67(i8* getelementptr inbounds ([152 x i8], [152 x i8]* @.str.129, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end10: ; preds = %assert_end8, %assert_end8, %assert_end8, %assert_end8\\n %68 = icmp eq i32 %36, 1\\n br i1 %68, label %assert_end12, label %assert_fail11, !prof !1\\n\\nassert_fail11: ; preds = %assert_end10\\n %69 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %69(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.5, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end12: ; preds = %assert_end10\\n %70 = getelementptr inbounds %1, %1* %6, i64 0, i32 2\\n %71 = load i32, i32* %70, align 4\\n %72 = icmp eq i32 %71, 3\\n br i1 %72, label %assert_end14, label %assert_fail13, !prof !1\\n\\nassert_fail13: ; preds = %assert_end12\\n %73 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %73(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.41, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end14: ; preds = %assert_end12\\n %74 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 2\\n %75 = load i16, i16* %74, align 2\\n %76 = icmp eq i16 %75, 1\\n %77 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 1\\n %78 = load i8, i8* %77, align 1\\n %79 = icmp eq i8 %78, 32\\n %80 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 0\\n %81 = load i8, i8* %80, align 1\\n %82 = icmp eq i8 %81, 2\\n %83 = and i1 %79, %82\\n %84 = and i1 %76, %83\\n br i1 %84, label %assert_end16, label %assert_fail15, !prof !1\\n\\nassert_fail15: ; preds = %assert_end14\\n %85 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %85(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.7, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end16: ; preds = %assert_end14\\n %86 = load i64, i64* %18, align 8, !tbaa !1127\\n %87 = trunc i64 %86 to i32\\n %88 = icmp eq i32 %87, 16\\n br i1 %88, label %assert_end18, label %assert_fail17, !prof !1\\n\\nassert_fail17: ; preds = %assert_end16\\n %89 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %89(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.8, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end18: ; preds = %assert_end16\\n %90 = getelementptr inbounds i64, i64* %18, i64 1\\n %91 = load i64, i64* %90, align 8, !tbaa !1141\\n %92 = trunc i64 %91 to i32\\n %93 = icmp eq i32 %92, 1\\n br i1 %93, label %assert_end20, label %assert_fail19, !prof !1\\n\\nassert_fail19: ; preds = %assert_end18\\n %94 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %94(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.43, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end20: ; preds = %assert_end18\\n %95 = getelementptr inbounds i64, i64* %18, i64 2\\n %96 = load i64, i64* %95, align 8, !tbaa !1143\\n %97 = trunc i64 %96 to i32\\n %98 = icmp eq i32 %97, 1\\n br i1 %98, label %assert_end22, label %assert_fail21, !prof !1\\n\\nassert_fail21: ; preds = %assert_end20\\n %99 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %99(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.44, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end22: ; preds = %assert_end20\\n %100 = getelementptr inbounds %1, %1* %6, i64 0, i32 6\\n %101 = load i64, i64* %100, align 8\\n %102 = icmp eq i64 %101, 0\\n br i1 %102, label %assert_end24, label %assert_fail23, !prof !1\\n\\nassert_fail23: ; preds = %assert_end22\\n %103 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %103(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.12, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end24: ; preds = %assert_end22\\n %104 = getelementptr inbounds %1, %1* %11, i64 0, i32 2\\n %105 = load i32, i32* %104, align 4\\n %106 = icmp eq i32 %105, 4\\n br i1 %106, label %assert_end26, label %assert_fail25, !prof !1\\n\\nassert_fail25: ; preds = %assert_end24\\n %107 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %107(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.45, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end26: ; preds = %assert_end24\\n %108 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 2\\n %109 = load i16, i16* %108, align 2\\n %110 = icmp eq i16 %109, 1\\n %111 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 1\\n %112 = load i8, i8* %111, align 1\\n %113 = icmp eq i8 %112, 32\\n %114 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 0\\n %115 = load i8, i8* %114, align 1\\n %116 = icmp eq i8 %115, 2\\n %117 = and i1 %113, %116\\n %118 = and i1 %110, %117\\n br i1 %118, label %assert_end28, label %assert_fail27, !prof !1\\n\\nassert_fail27: ; preds = %assert_end26\\n %119 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %119(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.14, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end28: ; preds = %assert_end26\\n %120 = load i64, i64* %42, align 8, !tbaa !1146\\n %121 = trunc i64 %120 to i32\\n %122 = icmp eq i32 %121, 2\\n br i1 %122, label %assert_end30, label %assert_fail29, !prof !1\\n\\nassert_fail29: ; preds = %assert_end28\\n %123 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %123(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.29, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end30: ; preds = %assert_end28\\n %124 = getelementptr inbounds i64, i64* %42, i64 1\\n %125 = load i64, i64* %124, align 8, !tbaa !1160\\n %126 = trunc i64 %125 to i32\\n %127 = icmp eq i32 %126, 1\\n br i1 %127, label %assert_end32, label %assert_fail31, !prof !1\\n\\nassert_fail31: ; preds = %assert_end30\\n %128 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %128(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.30, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end32: ; preds = %assert_end30\\n %129 = getelementptr inbounds i64, i64* %42, i64 2\\n %130 = load i64, i64* %129, align 8, !tbaa !1162\\n %131 = trunc i64 %130 to i32\\n %132 = icmp eq i32 %131, 1\\n br i1 %132, label %assert_end34, label %assert_fail33, !prof !1\\n\\nassert_fail33: ; preds = %assert_end32\\n %133 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %133(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.47, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end34: ; preds = %assert_end32\\n %134 = getelementptr inbounds i64, i64* %42, i64 3\\n %135 = load i64, i64* %134, align 8, !tbaa !1165\\n %136 = trunc i64 %135 to i32\\n %137 = icmp eq i32 %136, 8\\n br i1 %137, label %assert_end36, label %assert_fail35, !prof !1\\n\\nassert_fail35: ; preds = %assert_end34\\n %138 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %138(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.48, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end36: ; preds = %assert_end34\\n %139 = getelementptr inbounds %1, %1* %11, i64 0, i32 6\\n %140 = load i64, i64* %139, align 8\\n %141 = icmp eq i64 %140, 0\\n br i1 %141, label %assert_end38, label %assert_fail37, !prof !1\\n\\nassert_fail37: ; preds = %assert_end36\\n %142 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %142(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.17, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end38: ; preds = %assert_end36\\n %143 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 0\\n %144 = load i32, i32* %143, align 4\\n %145 = icmp eq i32 %144, 1\\n br i1 %145, label %assert_end40, label %assert_fail39, !prof !1\\n\\nassert_fail39: ; preds = %assert_end38\\n %146 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %146(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.18, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end40: ; preds = %assert_end38\\n %147 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 1\\n %148 = load i32, i32* %147, align 4\\n %149 = icmp eq i32 %38, %148\\n br i1 %149, label %assert_end42, label %assert_fail41, !prof !1\\n\\nassert_fail41: ; preds = %assert_end40\\n %150 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %150(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.19, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end42: ; preds = %assert_end40\\n %151 = tail call fastcc i32 @fused_layout_transform_3_compute_(i8* %40, i8* %16)\\n ret i32 %151\\n}\\n\\n; Function Attrs: noinline\\ndefine private fastcc i32 @fused_layout_transform_3_compute_(i8* noalias, i8* noalias) unnamed_addr #0 {\\nentry:\\n %2 = alloca %10, align 8\\n %3 = getelementptr inbounds %10, %10* %2, i64 0, i32 0\\n store i8* %0, i8** %3, align 8\\n %4 = getelementptr inbounds %10, %10* %2, i64 0, i32 1\\n store i8* %1, i8** %4, align 8\\n %5 = bitcast %10* %2 to i8*\\n %6 = load i32 (i32 (i32, %0*, i8*)*, i8*, i32)*, i32 (i32 (i32, %0*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !2\\n %7 = call i32 %6(i32 (i32, %0*, i8*)* nonnull @__tvm_parallel_lambda.130, i8* nonnull %5, i32 0)\\n ret i32 %7\\n}\\n\\n; Function Attrs: norecurse nounwind\\ndefine private i32 @__tvm_parallel_lambda.130(i32, %0* nocapture readonly, i8* nocapture readonly) #1 {\\nentry:\\n %3 = bitcast i8* %2 to float**\\n %4 = load float*, float** %3, align 8\\n %5 = getelementptr inbounds i8, i8* %2, i64 8\\n %6 = bitcast i8* %5 to float**\\n %7 = load float*, float** %6, align 8\\n %8 = getelementptr inbounds %0, %0* %1, i64 0, i32 1\\n %9 = load i32, i32* %8, align 4\\n %10 = add nsw i32 %9, 1\\n %11 = sdiv i32 %10, %9\\n %12 = add nsw i32 %0, 1\\n %13 = mul nsw i32 %11, %12\\n %14 = icmp slt i32 %13, 2\\n %15 = select i1 %14, i32 %13, i32 2\\n %16 = mul nsw i32 %11, %0\\n %17 = icmp slt i32 %16, 2\\n %18 = select i1 %17, i32 %16, i32 2\\n %19 = icmp slt i32 %18, %15\\n br i1 %19, label %for_body.lr.ph, label %for_end, !prof !1\\n\\nfor_body.lr.ph: ; preds = %entry\\n %20 = add i32 %18, 1\\n %21 = sext i32 %20 to i64\\n %22 = add nsw i64 %21, -1\\n %23 = sext i32 %15 to i64\\n br label %for_body\\n\\nfor_body: ; preds = %for_body.lr.ph, %for_body\\n %indvars.iv = phi i64 [ %22, %for_body.lr.ph ], [ %indvars.iv.next, %for_body ]\\n %24 = trunc i64 %indvars.iv to i32\\n %25 = shl i32 %24, 3\\n %26 = sext i32 %25 to i64\\n %27 = getelementptr inbounds float, float* %7, i64 %26\\n %28 = getelementptr inbounds float, float* %4, i64 %26\\n %29 = bitcast float* %27 to <4 x i32>*\\n %30 = load <4 x i32>, <4 x i32>* %29, align 4, !tbaa !1167\\n %31 = bitcast float* %28 to <4 x i32>*\\n store <4 x i32> %30, <4 x i32>* %31, align 4, !tbaa !1170\\n %32 = or i64 %26, 4\\n %33 = getelementptr inbounds float, float* %7, i64 %32\\n %34 = getelementptr inbounds float, float* %4, i64 %32\\n %35 = bitcast float* %33 to <4 x i32>*\\n %36 = load <4 x i32>, <4 x i32>* %35, align 4, !tbaa !1167\\n %37 = bitcast float* %34 to <4 x i32>*\\n store <4 x i32> %36, <4 x i32>* %37, align 4, !tbaa !1170\\n %indvars.iv.next = add nsw i64 %indvars.iv, 1\\n %38 = icmp slt i64 %indvars.iv.next, %23\\n br i1 %38, label %for_body, label %for_end, !prof !1\\n\\nfor_end: ; preds = %for_body, %entry\\n ret i32 0\\n}\\n\\ndefine dllexport i32 @fused_nn_contrib_conv2d_NCHWc_add_nn_relu(i8* noalias nocapture readonly, i8* noalias nocapture readonly, i32) local_unnamed_addr {\\nentry:\\n %3 = icmp eq i32 %2, 4\\n br i1 %3, label %assert_end, label %assert_fail, !prof !1\\n\\nassert_fail: ; preds = %entry\\n %4 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %4(i8* getelementptr inbounds ([94 x i8], [94 x i8]* @.str.131, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end: ; preds = %entry\\n %5 = bitcast i8* %0 to %1**\\n %6 = load %1*, %1** %5, align 8\\n %7 = bitcast i8* %1 to i32*\\n %8 = load i32, i32* %7, align 4, !tbaa !1173\\n %9 = getelementptr inbounds i8, i8* %0, i64 8\\n %10 = bitcast i8* %9 to %1**\\n %11 = load %1*, %1** %10, align 8\\n %12 = getelementptr inbounds i8, i8* %1, i64 4\\n %13 = bitcast i8* %12 to i32*\\n %14 = load i32, i32* %13, align 4, !tbaa !1187\\n %15 = getelementptr inbounds i8, i8* %0, i64 16\\n %16 = bitcast i8* %15 to %1**\\n %17 = load %1*, %1** %16, align 8\\n %18 = getelementptr inbounds i8, i8* %1, i64 8\\n %19 = bitcast i8* %18 to i32*\\n %20 = load i32, i32* %19, align 4, !tbaa !1189\\n %21 = getelementptr inbounds i8, i8* %0, i64 24\\n %22 = bitcast i8* %21 to %1**\\n %23 = load %1*, %1** %22, align 8\\n %24 = getelementptr inbounds i8, i8* %1, i64 12\\n %25 = bitcast i8* %24 to i32*\\n %26 = load i32, i32* %25, align 4, !tbaa !1192\\n %27 = getelementptr inbounds %1, %1* %6, i64 0, i32 0\\n %28 = load i8*, i8** %27, align 8\\n %29 = getelementptr inbounds %1, %1* %6, i64 0, i32 4\\n %30 = load i64*, i64** %29, align 8\\n %31 = getelementptr inbounds %1, %1* %6, i64 0, i32 5\\n %32 = load i64*, i64** %31, align 8\\n %33 = icmp eq i64* %32, null\\n br i1 %33, label %if_end, label %if_then, !prof !21\\n\\nif_then: ; preds = %assert_end\\n %34 = load i64, i64* %32, align 8, !tbaa !1194\\n %35 = trunc i64 %34 to i32\\n %36 = icmp eq i32 %35, 1152\\n %37 = getelementptr inbounds i64, i64* %32, i64 1\\n %38 = load i64, i64* %37, align 8, !tbaa !1208\\n %39 = trunc i64 %38 to i32\\n %40 = icmp eq i32 %39, 1152\\n %41 = getelementptr inbounds i64, i64* %32, i64 2\\n %42 = load i64, i64* %41, align 8, !tbaa !1210\\n %43 = trunc i64 %42 to i32\\n %44 = icmp eq i32 %43, 96\\n %45 = getelementptr inbounds i64, i64* %32, i64 3\\n %46 = load i64, i64* %45, align 8, !tbaa !1213\\n %47 = trunc i64 %46 to i32\\n %48 = icmp eq i32 %47, 8\\n %49 = getelementptr inbounds i64, i64* %32, i64 4\\n %50 = load i64, i64* %49, align 8, !tbaa !1215\\n %51 = trunc i64 %50 to i32\\n %52 = icmp eq i32 %51, 1\\n %53 = and i1 %48, %52\\n %54 = and i1 %44, %53\\n %55 = and i1 %40, %54\\n %56 = and i1 %36, %55\\n br i1 %56, label %if_end, label %assert_fail1, !prof !1\\n\\nif_end: ; preds = %assert_end, %if_then\\n %57 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 0\\n %58 = load i32, i32* %57, align 4\\n %59 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 1\\n %60 = load i32, i32* %59, align 4\\n %61 = getelementptr inbounds %1, %1* %11, i64 0, i32 0\\n %62 = load i8*, i8** %61, align 8\\n %63 = getelementptr inbounds %1, %1* %11, i64 0, i32 4\\n %64 = load i64*, i64** %63, align 8\\n %65 = getelementptr inbounds %1, %1* %11, i64 0, i32 5\\n %66 = load i64*, i64** %65, align 8\\n %67 = icmp eq i64* %66, null\\n br i1 %67, label %if_end4, label %if_then3, !prof !21\\n\\nassert_fail1: ; preds = %if_then\\n %68 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %68(i8* getelementptr inbounds ([234 x i8], [234 x i8]* @.str.132, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then3: ; preds = %if_end\\n %69 = load i64, i64* %66, align 8, !tbaa !1219\\n %70 = trunc i64 %69 to i32\\n %71 = icmp eq i32 %70, 1600\\n %72 = getelementptr inbounds i64, i64* %66, i64 1\\n %73 = load i64, i64* %72, align 8, !tbaa !1233\\n %74 = trunc i64 %73 to i32\\n %75 = icmp eq i32 %74, 1600\\n %76 = getelementptr inbounds i64, i64* %66, i64 2\\n %77 = load i64, i64* %76, align 8, !tbaa !1235\\n %78 = trunc i64 %77 to i32\\n %79 = icmp eq i32 %78, 320\\n %80 = getelementptr inbounds i64, i64* %66, i64 3\\n %81 = load i64, i64* %80, align 8, !tbaa !1238\\n %82 = trunc i64 %81 to i32\\n %83 = icmp eq i32 %82, 64\\n %84 = getelementptr inbounds i64, i64* %66, i64 4\\n %85 = load i64, i64* %84, align 8, !tbaa !1240\\n %86 = trunc i64 %85 to i32\\n %87 = icmp eq i32 %86, 8\\n %88 = getelementptr inbounds i64, i64* %66, i64 5\\n %89 = load i64, i64* %88, align 8, !tbaa !1244\\n %90 = trunc i64 %89 to i32\\n %91 = icmp eq i32 %90, 1\\n %92 = and i1 %87, %91\\n %93 = and i1 %83, %92\\n %94 = and i1 %79, %93\\n %95 = and i1 %75, %94\\n %96 = and i1 %71, %95\\n br i1 %96, label %if_end4, label %assert_fail5, !prof !1\\n\\nif_end4: ; preds = %if_end, %if_then3\\n %97 = getelementptr inbounds %1, %1* %17, i64 0, i32 0\\n %98 = load i8*, i8** %97, align 8\\n %99 = getelementptr inbounds %1, %1* %17, i64 0, i32 4\\n %100 = load i64*, i64** %99, align 8\\n %101 = getelementptr inbounds %1, %1* %17, i64 0, i32 5\\n %102 = load i64*, i64** %101, align 8\\n %103 = icmp eq i64* %102, null\\n br i1 %103, label %if_end8, label %if_then7, !prof !21\\n\\nassert_fail5: ; preds = %if_then3\\n %104 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %104(i8* getelementptr inbounds ([271 x i8], [271 x i8]* @.str.22, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then7: ; preds = %if_end4\\n %105 = load i64, i64* %102, align 8, !tbaa !1246\\n %106 = trunc i64 %105 to i32\\n %107 = icmp eq i32 %106, 8\\n %108 = getelementptr inbounds i64, i64* %102, i64 1\\n %109 = load i64, i64* %108, align 8, !tbaa !1260\\n %110 = trunc i64 %109 to i32\\n %111 = icmp eq i32 %110, 8\\n %112 = getelementptr inbounds i64, i64* %102, i64 2\\n %113 = load i64, i64* %112, align 8, !tbaa !1262\\n %114 = trunc i64 %113 to i32\\n %115 = icmp eq i32 %114, 8\\n %116 = getelementptr inbounds i64, i64* %102, i64 3\\n %117 = load i64, i64* %116, align 8, !tbaa !1265\\n %118 = trunc i64 %117 to i32\\n %119 = icmp eq i32 %118, 1\\n %120 = and i1 %115, %119\\n %121 = and i1 %111, %120\\n %122 = and i1 %107, %121\\n br i1 %122, label %if_end8, label %assert_fail9, !prof !1\\n\\nif_end8: ; preds = %if_end4, %if_then7\\n %123 = getelementptr inbounds %1, %1* %23, i64 0, i32 0\\n %124 = load i8*, i8** %123, align 8\\n %125 = getelementptr inbounds %1, %1* %23, i64 0, i32 4\\n %126 = load i64*, i64** %125, align 8\\n %127 = getelementptr inbounds %1, %1* %23, i64 0, i32 5\\n %128 = load i64*, i64** %127, align 8\\n %129 = icmp eq i64* %128, null\\n br i1 %129, label %if_end12, label %if_then11, !prof !21\\n\\nassert_fail9: ; preds = %if_then7\\n %130 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %130(i8* getelementptr inbounds ([192 x i8], [192 x i8]* @.str.74, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then11: ; preds = %if_end8\\n %131 = load i64, i64* %128, align 8, !tbaa !1267\\n %132 = trunc i64 %131 to i32\\n %133 = icmp eq i32 %132, 1024\\n %134 = getelementptr inbounds i64, i64* %128, i64 1\\n %135 = load i64, i64* %134, align 8, !tbaa !1281\\n %136 = trunc i64 %135 to i32\\n %137 = icmp eq i32 %136, 512\\n %138 = getelementptr inbounds i64, i64* %128, i64 2\\n %139 = load i64, i64* %138, align 8, !tbaa !1283\\n %140 = trunc i64 %139 to i32\\n %141 = icmp eq i32 %140, 64\\n %142 = getelementptr inbounds i64, i64* %128, i64 3\\n %143 = load i64, i64* %142, align 8, !tbaa !1286\\n %144 = trunc i64 %143 to i32\\n %145 = icmp eq i32 %144, 8\\n %146 = getelementptr inbounds i64, i64* %128, i64 4\\n %147 = load i64, i64* %146, align 8, !tbaa !1288\\n %148 = trunc i64 %147 to i32\\n %149 = icmp eq i32 %148, 1\\n %150 = and i1 %145, %149\\n %151 = and i1 %141, %150\\n %152 = and i1 %137, %151\\n %153 = and i1 %133, %152\\n br i1 %153, label %if_end12, label %assert_fail13, !prof !1\\n\\nif_end12: ; preds = %if_end8, %if_then11\\n switch i32 %8, label %assert_fail15 [\\n i32 13, label %assert_end16\\n i32 7, label %assert_end16\\n i32 4, label %assert_end16\\n i32 3, label %assert_end16\\n ]\\n\\nassert_fail13: ; preds = %if_then11\\n %154 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %154(i8* getelementptr inbounds ([233 x i8], [233 x i8]* @.str.133, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_fail15: ; preds = %if_end12\\n %155 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %155(i8* getelementptr inbounds ([169 x i8], [169 x i8]* @.str.134, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end16: ; preds = %if_end12, %if_end12, %if_end12, %if_end12\\n switch i32 %14, label %assert_fail17 [\\n i32 13, label %assert_end18\\n i32 7, label %assert_end18\\n i32 4, label %assert_end18\\n i32 3, label %assert_end18\\n ]\\n\\nassert_fail17: ; preds = %assert_end16\\n %156 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %156(i8* getelementptr inbounds ([169 x i8], [169 x i8]* @.str.135, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end18: ; preds = %assert_end16, %assert_end16, %assert_end16, %assert_end16\\n switch i32 %20, label %assert_fail19 [\\n i32 13, label %assert_end20\\n i32 7, label %assert_end20\\n i32 4, label %assert_end20\\n i32 3, label %assert_end20\\n ]\\n\\nassert_fail19: ; preds = %assert_end18\\n %157 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %157(i8* getelementptr inbounds ([169 x i8], [169 x i8]* @.str.136, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end20: ; preds = %assert_end18, %assert_end18, %assert_end18, %assert_end18\\n switch i32 %26, label %assert_fail21 [\\n i32 13, label %assert_end22\\n i32 7, label %assert_end22\\n i32 4, label %assert_end22\\n i32 3, label %assert_end22\\n ]\\n\\nassert_fail21: ; preds = %assert_end20\\n %158 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %158(i8* getelementptr inbounds ([169 x i8], [169 x i8]* @.str.137, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end22: ; preds = %assert_end20, %assert_end20, %assert_end20, %assert_end20\\n %159 = icmp eq i32 %58, 1\\n br i1 %159, label %assert_end24, label %assert_fail23, !prof !1\\n\\nassert_fail23: ; preds = %assert_end22\\n %160 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %160(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.5, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end24: ; preds = %assert_end22\\n %161 = getelementptr inbounds %1, %1* %6, i64 0, i32 2\\n %162 = load i32, i32* %161, align 4\\n %163 = icmp eq i32 %162, 5\\n br i1 %163, label %assert_end26, label %assert_fail25, !prof !1\\n\\nassert_fail25: ; preds = %assert_end24\\n %164 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %164(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.66, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end26: ; preds = %assert_end24\\n %165 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 2\\n %166 = load i16, i16* %165, align 2\\n %167 = icmp eq i16 %166, 1\\n %168 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 1\\n %169 = load i8, i8* %168, align 1\\n %170 = icmp eq i8 %169, 32\\n %171 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 0\\n %172 = load i8, i8* %171, align 1\\n %173 = icmp eq i8 %172, 2\\n %174 = and i1 %170, %173\\n %175 = and i1 %167, %174\\n br i1 %175, label %assert_end28, label %assert_fail27, !prof !1\\n\\nassert_fail27: ; preds = %assert_end26\\n %176 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %176(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.7, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end28: ; preds = %assert_end26\\n %177 = load i64, i64* %30, align 8, !tbaa !1292\\n %178 = trunc i64 %177 to i32\\n %179 = icmp eq i32 %178, 1\\n br i1 %179, label %assert_end30, label %assert_fail29, !prof !1\\n\\nassert_fail29: ; preds = %assert_end28\\n %180 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %180(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.54, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end30: ; preds = %assert_end28\\n %181 = getelementptr inbounds i64, i64* %30, i64 1\\n %182 = load i64, i64* %181, align 8, !tbaa !1306\\n %183 = trunc i64 %182 to i32\\n %184 = icmp eq i32 %183, 1\\n br i1 %184, label %assert_end32, label %assert_fail31, !prof !1\\n\\nassert_fail31: ; preds = %assert_end30\\n %185 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %185(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.43, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end32: ; preds = %assert_end30\\n %186 = getelementptr inbounds i64, i64* %30, i64 2\\n %187 = load i64, i64* %186, align 8, !tbaa !1308\\n %188 = trunc i64 %187 to i32\\n %189 = icmp eq i32 %188, 12\\n br i1 %189, label %assert_end34, label %assert_fail33, !prof !1\\n\\nassert_fail33: ; preds = %assert_end32\\n %190 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %190(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.138, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end34: ; preds = %assert_end32\\n %191 = getelementptr inbounds i64, i64* %30, i64 3\\n %192 = load i64, i64* %191, align 8, !tbaa !1311\\n %193 = trunc i64 %192 to i32\\n %194 = icmp eq i32 %193, 12\\n br i1 %194, label %assert_end36, label %assert_fail35, !prof !1\\n\\nassert_fail35: ; preds = %assert_end34\\n %195 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %195(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.139, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end36: ; preds = %assert_end34\\n %196 = getelementptr inbounds i64, i64* %30, i64 4\\n %197 = load i64, i64* %196, align 8, !tbaa !1313\\n %198 = trunc i64 %197 to i32\\n %199 = icmp eq i32 %198, 8\\n br i1 %199, label %assert_end38, label %assert_fail37, !prof !1\\n\\nassert_fail37: ; preds = %assert_end36\\n %200 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %200(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.70, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end38: ; preds = %assert_end36\\n %201 = getelementptr inbounds %1, %1* %6, i64 0, i32 6\\n %202 = load i64, i64* %201, align 8\\n %203 = icmp eq i64 %202, 0\\n br i1 %203, label %assert_end40, label %assert_fail39, !prof !1\\n\\nassert_fail39: ; preds = %assert_end38\\n %204 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %204(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.12, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end40: ; preds = %assert_end38\\n %205 = getelementptr inbounds %1, %1* %11, i64 0, i32 2\\n %206 = load i32, i32* %205, align 4\\n %207 = icmp eq i32 %206, 6\\n br i1 %207, label %assert_end42, label %assert_fail41, !prof !1\\n\\nassert_fail41: ; preds = %assert_end40\\n %208 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %208(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.28, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end42: ; preds = %assert_end40\\n %209 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 2\\n %210 = load i16, i16* %209, align 2\\n %211 = icmp eq i16 %210, 1\\n %212 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 1\\n %213 = load i8, i8* %212, align 1\\n %214 = icmp eq i8 %213, 32\\n %215 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 0\\n %216 = load i8, i8* %215, align 1\\n %217 = icmp eq i8 %216, 2\\n %218 = and i1 %214, %217\\n %219 = and i1 %211, %218\\n br i1 %219, label %assert_end44, label %assert_fail43, !prof !1\\n\\nassert_fail43: ; preds = %assert_end42\\n %220 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %220(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.14, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end44: ; preds = %assert_end42\\n %221 = load i64, i64* %64, align 8, !tbaa !1317\\n %222 = trunc i64 %221 to i32\\n %223 = icmp eq i32 %222, 2\\n br i1 %223, label %assert_end46, label %assert_fail45, !prof !1\\n\\nassert_fail45: ; preds = %assert_end44\\n %224 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %224(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.29, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end46: ; preds = %assert_end44\\n %225 = getelementptr inbounds i64, i64* %64, i64 1\\n %226 = load i64, i64* %225, align 8, !tbaa !1331\\n %227 = trunc i64 %226 to i32\\n %228 = icmp eq i32 %227, 1\\n br i1 %228, label %assert_end48, label %assert_fail47, !prof !1\\n\\nassert_fail47: ; preds = %assert_end46\\n %229 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %229(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.30, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end48: ; preds = %assert_end46\\n %230 = getelementptr inbounds i64, i64* %64, i64 2\\n %231 = load i64, i64* %230, align 8, !tbaa !1333\\n %232 = trunc i64 %231 to i32\\n %233 = icmp eq i32 %232, 5\\n br i1 %233, label %assert_end50, label %assert_fail49, !prof !1\\n\\nassert_fail49: ; preds = %assert_end48\\n %234 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %234(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.31, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end50: ; preds = %assert_end48\\n %235 = getelementptr inbounds i64, i64* %64, i64 3\\n %236 = load i64, i64* %235, align 8, !tbaa !1336\\n %237 = trunc i64 %236 to i32\\n %238 = icmp eq i32 %237, 5\\n br i1 %238, label %assert_end52, label %assert_fail51, !prof !1\\n\\nassert_fail51: ; preds = %assert_end50\\n %239 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %239(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.32, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end52: ; preds = %assert_end50\\n %240 = getelementptr inbounds i64, i64* %64, i64 4\\n %241 = load i64, i64* %240, align 8, !tbaa !1338\\n %242 = trunc i64 %241 to i32\\n %243 = icmp eq i32 %242, 8\\n br i1 %243, label %assert_end54, label %assert_fail53, !prof !1\\n\\nassert_fail53: ; preds = %assert_end52\\n %244 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %244(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.33, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end54: ; preds = %assert_end52\\n %245 = getelementptr inbounds i64, i64* %64, i64 5\\n %246 = load i64, i64* %245, align 8, !tbaa !1342\\n %247 = trunc i64 %246 to i32\\n %248 = icmp eq i32 %247, 8\\n br i1 %248, label %assert_end56, label %assert_fail55, !prof !1\\n\\nassert_fail55: ; preds = %assert_end54\\n %249 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %249(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.34, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end56: ; preds = %assert_end54\\n %250 = getelementptr inbounds %1, %1* %11, i64 0, i32 6\\n %251 = load i64, i64* %250, align 8\\n %252 = icmp eq i64 %251, 0\\n br i1 %252, label %assert_end58, label %assert_fail57, !prof !1\\n\\nassert_fail57: ; preds = %assert_end56\\n %253 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %253(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.17, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end58: ; preds = %assert_end56\\n %254 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 0\\n %255 = load i32, i32* %254, align 4\\n %256 = icmp eq i32 %255, 1\\n br i1 %256, label %assert_end60, label %assert_fail59, !prof !1\\n\\nassert_fail59: ; preds = %assert_end58\\n %257 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %257(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.18, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end60: ; preds = %assert_end58\\n %258 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 1\\n %259 = load i32, i32* %258, align 4\\n %260 = icmp eq i32 %60, %259\\n br i1 %260, label %assert_end62, label %assert_fail61, !prof !1\\n\\nassert_fail61: ; preds = %assert_end60\\n %261 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %261(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.19, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end62: ; preds = %assert_end60\\n %262 = getelementptr inbounds %1, %1* %17, i64 0, i32 2\\n %263 = load i32, i32* %262, align 4\\n %264 = icmp eq i32 %263, 4\\n br i1 %264, label %assert_end64, label %assert_fail63, !prof !1\\n\\nassert_fail63: ; preds = %assert_end62\\n %265 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %265(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.81, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end64: ; preds = %assert_end62\\n %266 = getelementptr inbounds %1, %1* %17, i64 0, i32 3, i32 2\\n %267 = load i16, i16* %266, align 2\\n %268 = icmp eq i16 %267, 1\\n %269 = getelementptr inbounds %1, %1* %17, i64 0, i32 3, i32 1\\n %270 = load i8, i8* %269, align 1\\n %271 = icmp eq i8 %270, 32\\n %272 = getelementptr inbounds %1, %1* %17, i64 0, i32 3, i32 0\\n %273 = load i8, i8* %272, align 1\\n %274 = icmp eq i8 %273, 2\\n %275 = and i1 %271, %274\\n %276 = and i1 %268, %275\\n br i1 %276, label %assert_end66, label %assert_fail65, !prof !1\\n\\nassert_fail65: ; preds = %assert_end64\\n %277 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %277(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.82, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end66: ; preds = %assert_end64\\n %278 = load i64, i64* %100, align 8, !tbaa !1344\\n %279 = trunc i64 %278 to i32\\n %280 = icmp eq i32 %279, 2\\n br i1 %280, label %assert_end68, label %assert_fail67, !prof !1\\n\\nassert_fail67: ; preds = %assert_end66\\n %281 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %281(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.140, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end68: ; preds = %assert_end66\\n %282 = getelementptr inbounds i64, i64* %100, i64 1\\n %283 = load i64, i64* %282, align 8, !tbaa !1358\\n %284 = trunc i64 %283 to i32\\n %285 = icmp eq i32 %284, 1\\n br i1 %285, label %assert_end70, label %assert_fail69, !prof !1\\n\\nassert_fail69: ; preds = %assert_end68\\n %286 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %286(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.84, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end70: ; preds = %assert_end68\\n %287 = getelementptr inbounds i64, i64* %100, i64 2\\n %288 = load i64, i64* %287, align 8, !tbaa !1360\\n %289 = trunc i64 %288 to i32\\n %290 = icmp eq i32 %289, 1\\n br i1 %290, label %assert_end72, label %assert_fail71, !prof !1\\n\\nassert_fail71: ; preds = %assert_end70\\n %291 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %291(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.85, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end72: ; preds = %assert_end70\\n %292 = getelementptr inbounds i64, i64* %100, i64 3\\n %293 = load i64, i64* %292, align 8, !tbaa !1363\\n %294 = trunc i64 %293 to i32\\n %295 = icmp eq i32 %294, 8\\n br i1 %295, label %assert_end74, label %assert_fail73, !prof !1\\n\\nassert_fail73: ; preds = %assert_end72\\n %296 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %296(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.86, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end74: ; preds = %assert_end72\\n %297 = getelementptr inbounds %1, %1* %17, i64 0, i32 6\\n %298 = load i64, i64* %297, align 8\\n %299 = icmp eq i64 %298, 0\\n br i1 %299, label %assert_end76, label %assert_fail75, !prof !1\\n\\nassert_fail75: ; preds = %assert_end74\\n %300 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %300(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.87, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end76: ; preds = %assert_end74\\n %301 = getelementptr inbounds %1, %1* %17, i64 0, i32 1, i32 0\\n %302 = load i32, i32* %301, align 4\\n %303 = icmp eq i32 %302, 1\\n br i1 %303, label %assert_end78, label %assert_fail77, !prof !1\\n\\nassert_fail77: ; preds = %assert_end76\\n %304 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %304(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.88, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end78: ; preds = %assert_end76\\n %305 = getelementptr inbounds %1, %1* %17, i64 0, i32 1, i32 1\\n %306 = load i32, i32* %305, align 4\\n %307 = icmp eq i32 %60, %306\\n br i1 %307, label %assert_end80, label %assert_fail79, !prof !1\\n\\nassert_fail79: ; preds = %assert_end78\\n %308 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %308(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.89, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end80: ; preds = %assert_end78\\n %309 = getelementptr inbounds %1, %1* %23, i64 0, i32 2\\n %310 = load i32, i32* %309, align 4\\n %311 = icmp eq i32 %310, 5\\n br i1 %311, label %assert_end82, label %assert_fail81, !prof !1\\n\\nassert_fail81: ; preds = %assert_end80\\n %312 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %312(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.90, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end82: ; preds = %assert_end80\\n %313 = getelementptr inbounds %1, %1* %23, i64 0, i32 3, i32 2\\n %314 = load i16, i16* %313, align 2\\n %315 = icmp eq i16 %314, 1\\n %316 = getelementptr inbounds %1, %1* %23, i64 0, i32 3, i32 1\\n %317 = load i8, i8* %316, align 1\\n %318 = icmp eq i8 %317, 32\\n %319 = getelementptr inbounds %1, %1* %23, i64 0, i32 3, i32 0\\n %320 = load i8, i8* %319, align 1\\n %321 = icmp eq i8 %320, 2\\n %322 = and i1 %318, %321\\n %323 = and i1 %315, %322\\n br i1 %323, label %assert_end84, label %assert_fail83, !prof !1\\n\\nassert_fail83: ; preds = %assert_end82\\n %324 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %324(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.91, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end84: ; preds = %assert_end82\\n %325 = load i64, i64* %126, align 8, !tbaa !1365\\n %326 = trunc i64 %325 to i32\\n %327 = icmp eq i32 %326, 1\\n br i1 %327, label %assert_end86, label %assert_fail85, !prof !1\\n\\nassert_fail85: ; preds = %assert_end84\\n %328 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %328(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.92, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end86: ; preds = %assert_end84\\n %329 = getelementptr inbounds i64, i64* %126, i64 1\\n %330 = load i64, i64* %329, align 8, !tbaa !1379\\n %331 = trunc i64 %330 to i32\\n %332 = icmp eq i32 %331, 2\\n br i1 %332, label %assert_end88, label %assert_fail87, !prof !1\\n\\nassert_fail87: ; preds = %assert_end86\\n %333 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %333(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.141, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end88: ; preds = %assert_end86\\n %334 = getelementptr inbounds i64, i64* %126, i64 2\\n %335 = load i64, i64* %334, align 8, !tbaa !1381\\n %336 = trunc i64 %335 to i32\\n %337 = icmp eq i32 %336, 8\\n br i1 %337, label %assert_end90, label %assert_fail89, !prof !1\\n\\nassert_fail89: ; preds = %assert_end88\\n %338 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %338(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.142, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end90: ; preds = %assert_end88\\n %339 = getelementptr inbounds i64, i64* %126, i64 3\\n %340 = load i64, i64* %339, align 8, !tbaa !1384\\n %341 = trunc i64 %340 to i32\\n %342 = icmp eq i32 %341, 8\\n br i1 %342, label %assert_end92, label %assert_fail91, !prof !1\\n\\nassert_fail91: ; preds = %assert_end90\\n %343 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %343(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.143, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end92: ; preds = %assert_end90\\n %344 = getelementptr inbounds i64, i64* %126, i64 4\\n %345 = load i64, i64* %344, align 8, !tbaa !1386\\n %346 = trunc i64 %345 to i32\\n %347 = icmp eq i32 %346, 8\\n br i1 %347, label %assert_end94, label %assert_fail93, !prof !1\\n\\nassert_fail93: ; preds = %assert_end92\\n %348 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %348(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.96, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end94: ; preds = %assert_end92\\n %349 = getelementptr inbounds %1, %1* %23, i64 0, i32 6\\n %350 = load i64, i64* %349, align 8\\n %351 = icmp eq i64 %350, 0\\n br i1 %351, label %assert_end96, label %assert_fail95, !prof !1\\n\\nassert_fail95: ; preds = %assert_end94\\n %352 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %352(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.97, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end96: ; preds = %assert_end94\\n %353 = getelementptr inbounds %1, %1* %23, i64 0, i32 1, i32 0\\n %354 = load i32, i32* %353, align 4\\n %355 = icmp eq i32 %354, 1\\n br i1 %355, label %assert_end98, label %assert_fail97, !prof !1\\n\\nassert_fail97: ; preds = %assert_end96\\n %356 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %356(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.98, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end98: ; preds = %assert_end96\\n %357 = getelementptr inbounds %1, %1* %23, i64 0, i32 1, i32 1\\n %358 = load i32, i32* %357, align 4\\n %359 = icmp eq i32 %60, %358\\n br i1 %359, label %assert_end100, label %assert_fail99, !prof !1\\n\\nassert_fail99: ; preds = %assert_end98\\n %360 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %360(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.99, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end100: ; preds = %assert_end98\\n %361 = tail call fastcc i32 @fused_nn_contrib_conv2d_NCHWc_add_nn_relu_compute_(i8* %28, i8* %62, i8* %124, i8* %98)\\n ret i32 %361\\n}\\n\\n; Function Attrs: noinline\\ndefine private fastcc i32 @fused_nn_contrib_conv2d_NCHWc_add_nn_relu_compute_(i8* noalias, i8* noalias, i8* noalias, i8* noalias) unnamed_addr #0 {\\nentry:\\n %4 = alloca %11, align 8\\n %5 = getelementptr inbounds %11, %11* %4, i64 0, i32 0\\n store i8* %0, i8** %5, align 8\\n %6 = getelementptr inbounds %11, %11* %4, i64 0, i32 1\\n store i8* %1, i8** %6, align 8\\n %7 = getelementptr inbounds %11, %11* %4, i64 0, i32 2\\n store i8* %2, i8** %7, align 8\\n %8 = getelementptr inbounds %11, %11* %4, i64 0, i32 3\\n store i8* %3, i8** %8, align 8\\n %9 = bitcast %11* %4 to i8*\\n %10 = load i32 (i32 (i32, %0*, i8*)*, i8*, i32)*, i32 (i32 (i32, %0*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !2\\n %11 = call i32 %10(i32 (i32, %0*, i8*)* nonnull @__tvm_parallel_lambda.144, i8* nonnull %9, i32 0)\\n ret i32 %11\\n}\\n\\n; Function Attrs: nounwind\\ndefine private i32 @__tvm_parallel_lambda.144(i32, %0* nocapture readonly, i8* nocapture readonly) #3 {\\nentry:\\n %3 = bitcast i8* %2 to float**\\n %4 = load float*, float** %3, align 8\\n %5 = getelementptr inbounds i8, i8* %2, i64 8\\n %6 = bitcast i8* %5 to float**\\n %7 = load float*, float** %6, align 8\\n %8 = getelementptr inbounds i8, i8* %2, i64 16\\n %9 = bitcast i8* %8 to float**\\n %10 = load float*, float** %9, align 8\\n %11 = getelementptr inbounds i8, i8* %2, i64 24\\n %12 = bitcast i8* %11 to float**\\n %13 = load float*, float** %12, align 8\\n %14 = getelementptr inbounds %0, %0* %1, i64 0, i32 1\\n %15 = load i32, i32* %14, align 4\\n %16 = add nsw i32 %15, 15\\n %17 = sdiv i32 %16, %15\\n %18 = add nsw i32 %0, 1\\n %19 = mul nsw i32 %17, %18\\n %20 = icmp slt i32 %19, 16\\n %21 = select i1 %20, i32 %19, i32 16\\n %22 = mul nsw i32 %17, %0\\n %23 = icmp slt i32 %22, 16\\n %24 = select i1 %23, i32 %22, i32 16\\n %25 = icmp slt i32 %24, %21\\n br i1 %25, label %for_body.lr.ph, label %for_end, !prof !1\\n\\nfor_body.lr.ph: ; preds = %entry\\n %26 = add i32 %24, 1\\n %27 = sext i32 %26 to i64\\n %28 = add nsw i64 %27, -1\\n %29 = sext i32 %21 to i64\\n br label %for_body\\n\\nfor_body: ; preds = %for_body.lr.ph, %for_end3\\n %indvars.iv71 = phi i64 [ %28, %for_body.lr.ph ], [ %indvars.iv.next72, %for_end3 ]\\n %30 = trunc i64 %indvars.iv71 to i32\\n %31 = srem i32 %30, 8\\n %32 = sdiv i32 %30, 8\\n %33 = mul nsw i32 %32, 5\\n %34 = sext i32 %33 to i64\\n br label %for_body2\\n\\nfor_end: ; preds = %for_end3, %entry\\n ret i32 0\\n\\nfor_body2: ; preds = %for_end9.4, %for_body\\n %indvars.iv65 = phi i64 [ 0, %for_body ], [ %indvars.iv.next66, %for_end9.4 ]\\n %.lcssa25.lcssa54 = phi <8 x float> [ zeroinitializer, %for_body ], [ %454, %for_end9.4 ]\\n %.lcssa23.lcssa52 = phi <8 x float> [ zeroinitializer, %for_body ], [ %448, %for_end9.4 ]\\n %.lcssa21.lcssa50 = phi <8 x float> [ zeroinitializer, %for_body ], [ %442, %for_end9.4 ]\\n %.lcssa19.lcssa48 = phi <8 x float> [ zeroinitializer, %for_body ], [ %436, %for_end9.4 ]\\n %.lcssa17.lcssa46 = phi <8 x float> [ zeroinitializer, %for_body ], [ %430, %for_end9.4 ]\\n %.lcssa15.lcssa45 = phi <8 x float> [ zeroinitializer, %for_body ], [ %424, %for_end9.4 ]\\n %.lcssa13.lcssa43 = phi <8 x float> [ zeroinitializer, %for_body ], [ %418, %for_end9.4 ]\\n %.lcssa.lcssa41 = phi <8 x float> [ zeroinitializer, %for_body ], [ %412, %for_end9.4 ]\\n %35 = phi i32 [ 0, %for_body ], [ %456, %for_end9.4 ]\\n %36 = add nsw i32 %35, %31\\n %37 = add nsw i64 %indvars.iv65, %34\\n %38 = mul nsw i64 %37, 5\\n %39 = mul i32 %36, 96\\n %40 = trunc i64 %38 to i32\\n %41 = shl i32 %40, 3\\n %42 = sext i32 %39 to i64\\n br label %for_body8\\n\\nfor_end3: ; preds = %for_end9.4\\n %43 = shl i32 %30, 6\\n %44 = shl nsw i32 %32, 3\\n %45 = sext i32 %44 to i64\\n %46 = getelementptr inbounds float, float* %13, i64 %45\\n %47 = bitcast float* %46 to <8 x float>*\\n %48 = load <8 x float>, <8 x float>* %47, align 32, !tbaa !1390\\n %49 = shl i32 %30, 6\\n %50 = fadd <8 x float> %48, %412\\n %51 = fcmp ogt <8 x float> %50, zeroinitializer\\n %52 = select <8 x i1> %51, <8 x float> %50, <8 x float> zeroinitializer\\n %53 = sext i32 %49 to i64\\n %54 = getelementptr inbounds float, float* %10, i64 %53\\n %55 = bitcast float* %54 to <8 x float>*\\n store <8 x float> %52, <8 x float>* %55, align 32, !tbaa !1393\\n %56 = shl i32 %30, 6\\n %57 = or i32 %56, 8\\n %58 = fadd <8 x float> %48, %418\\n %59 = fcmp ogt <8 x float> %58, zeroinitializer\\n %60 = select <8 x i1> %59, <8 x float> %58, <8 x float> zeroinitializer\\n %61 = sext i32 %57 to i64\\n %62 = getelementptr inbounds float, float* %10, i64 %61\\n %63 = bitcast float* %62 to <8 x float>*\\n store <8 x float> %60, <8 x float>* %63, align 32, !tbaa !1393\\n %64 = shl i32 %30, 6\\n %65 = or i32 %64, 16\\n %66 = fadd <8 x float> %48, %424\\n %67 = fcmp ogt <8 x float> %66, zeroinitializer\\n %68 = select <8 x i1> %67, <8 x float> %66, <8 x float> zeroinitializer\\n %69 = sext i32 %65 to i64\\n %70 = getelementptr inbounds float, float* %10, i64 %69\\n %71 = bitcast float* %70 to <8 x float>*\\n store <8 x float> %68, <8 x float>* %71, align 32, !tbaa !1393\\n %72 = shl i32 %30, 6\\n %73 = or i32 %72, 24\\n %74 = fadd <8 x float> %48, %430\\n %75 = fcmp ogt <8 x float> %74, zeroinitializer\\n %76 = select <8 x i1> %75, <8 x float> %74, <8 x float> zeroinitializer\\n %77 = sext i32 %73 to i64\\n %78 = getelementptr inbounds float, float* %10, i64 %77\\n %79 = bitcast float* %78 to <8 x float>*\\n store <8 x float> %76, <8 x float>* %79, align 32, !tbaa !1393\\n %80 = shl i32 %30, 6\\n %81 = or i32 %80, 32\\n %82 = fadd <8 x float> %48, %436\\n %83 = fcmp ogt <8 x float> %82, zeroinitializer\\n %84 = select <8 x i1> %83, <8 x float> %82, <8 x float> zeroinitializer\\n %85 = sext i32 %81 to i64\\n %86 = getelementptr inbounds float, float* %10, i64 %85\\n %87 = bitcast float* %86 to <8 x float>*\\n store <8 x float> %84, <8 x float>* %87, align 32, !tbaa !1393\\n %88 = shl i32 %30, 6\\n %89 = or i32 %88, 40\\n %90 = fadd <8 x float> %48, %442\\n %91 = fcmp ogt <8 x float> %90, zeroinitializer\\n %92 = select <8 x i1> %91, <8 x float> %90, <8 x float> zeroinitializer\\n %93 = sext i32 %89 to i64\\n %94 = getelementptr inbounds float, float* %10, i64 %93\\n %95 = bitcast float* %94 to <8 x float>*\\n store <8 x float> %92, <8 x float>* %95, align 32, !tbaa !1393\\n %96 = shl i32 %30, 6\\n %97 = or i32 %96, 48\\n %98 = fadd <8 x float> %48, %448\\n %99 = fcmp ogt <8 x float> %98, zeroinitializer\\n %100 = select <8 x i1> %99, <8 x float> %98, <8 x float> zeroinitializer\\n %101 = sext i32 %97 to i64\\n %102 = getelementptr inbounds float, float* %10, i64 %101\\n %103 = bitcast float* %102 to <8 x float>*\\n store <8 x float> %100, <8 x float>* %103, align 32, !tbaa !1393\\n %104 = or i32 %43, 56\\n %105 = fadd <8 x float> %48, %454\\n %106 = fcmp ogt <8 x float> %105, zeroinitializer\\n %107 = select <8 x i1> %106, <8 x float> %105, <8 x float> zeroinitializer\\n %108 = sext i32 %104 to i64\\n %109 = getelementptr inbounds float, float* %10, i64 %108\\n %110 = bitcast float* %109 to <8 x float>*\\n store <8 x float> %107, <8 x float>* %110, align 32, !tbaa !1393\\n %indvars.iv.next72 = add nsw i64 %indvars.iv71, 1\\n %111 = icmp slt i64 %indvars.iv.next72, %29\\n br i1 %111, label %for_body, label %for_end, !prof !1\\n\\nfor_body8: ; preds = %for_body8, %for_body2\\n %indvars.iv = phi i64 [ 0, %for_body2 ], [ %indvars.iv.next, %for_body8 ]\\n %112 = phi <8 x float> [ %.lcssa25.lcssa54, %for_body2 ], [ %174, %for_body8 ]\\n %113 = phi <8 x float> [ %.lcssa23.lcssa52, %for_body2 ], [ %168, %for_body8 ]\\n %114 = phi <8 x float> [ %.lcssa21.lcssa50, %for_body2 ], [ %162, %for_body8 ]\\n %115 = phi <8 x float> [ %.lcssa19.lcssa48, %for_body2 ], [ %156, %for_body8 ]\\n %116 = phi <8 x float> [ %.lcssa17.lcssa46, %for_body2 ], [ %150, %for_body8 ]\\n %117 = phi <8 x float> [ %.lcssa15.lcssa45, %for_body2 ], [ %144, %for_body8 ]\\n %118 = phi <8 x float> [ %.lcssa13.lcssa43, %for_body2 ], [ %138, %for_body8 ]\\n %119 = phi <8 x float> [ %.lcssa.lcssa41, %for_body2 ], [ %132, %for_body8 ]\\n %120 = phi i32 [ 0, %for_body2 ], [ %175, %for_body8 ]\\n %121 = add nsw i64 %indvars.iv, %42\\n %122 = getelementptr inbounds float, float* %4, i64 %121\\n %123 = load float, float* %122, align 4, !tbaa !1396\\n %124 = insertelement <8 x float> undef, float %123, i32 0\\n %125 = shufflevector <8 x float> %124, <8 x float> undef, <8 x i32> zeroinitializer\\n %126 = add nsw i32 %120, %41\\n %127 = shl nsw i32 %126, 3\\n %128 = sext i32 %127 to i64\\n %129 = getelementptr inbounds float, float* %7, i64 %128\\n %130 = bitcast float* %129 to <8 x float>*\\n %131 = load <8 x float>, <8 x float>* %130, align 32, !tbaa !1399\\n %132 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %125, <8 x float> %131, <8 x float> %119)\\n %133 = add nsw i64 %121, 8\\n %134 = getelementptr inbounds float, float* %4, i64 %133\\n %135 = load float, float* %134, align 4, !tbaa !1396\\n %136 = insertelement <8 x float> undef, float %135, i32 0\\n %137 = shufflevector <8 x float> %136, <8 x float> undef, <8 x i32> zeroinitializer\\n %138 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %137, <8 x float> %131, <8 x float> %118)\\n %139 = add nsw i64 %121, 16\\n %140 = getelementptr inbounds float, float* %4, i64 %139\\n %141 = load float, float* %140, align 4, !tbaa !1396\\n %142 = insertelement <8 x float> undef, float %141, i32 0\\n %143 = shufflevector <8 x float> %142, <8 x float> undef, <8 x i32> zeroinitializer\\n %144 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %143, <8 x float> %131, <8 x float> %117)\\n %145 = add nsw i64 %121, 24\\n %146 = getelementptr inbounds float, float* %4, i64 %145\\n %147 = load float, float* %146, align 4, !tbaa !1396\\n %148 = insertelement <8 x float> undef, float %147, i32 0\\n %149 = shufflevector <8 x float> %148, <8 x float> undef, <8 x i32> zeroinitializer\\n %150 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %149, <8 x float> %131, <8 x float> %116)\\n %151 = add nsw i64 %121, 32\\n %152 = getelementptr inbounds float, float* %4, i64 %151\\n %153 = load float, float* %152, align 4, !tbaa !1396\\n %154 = insertelement <8 x float> undef, float %153, i32 0\\n %155 = shufflevector <8 x float> %154, <8 x float> undef, <8 x i32> zeroinitializer\\n %156 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %155, <8 x float> %131, <8 x float> %115)\\n %157 = add nsw i64 %121, 40\\n %158 = getelementptr inbounds float, float* %4, i64 %157\\n %159 = load float, float* %158, align 4, !tbaa !1396\\n %160 = insertelement <8 x float> undef, float %159, i32 0\\n %161 = shufflevector <8 x float> %160, <8 x float> undef, <8 x i32> zeroinitializer\\n %162 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %161, <8 x float> %131, <8 x float> %114)\\n %163 = add nsw i64 %121, 48\\n %164 = getelementptr inbounds float, float* %4, i64 %163\\n %165 = load float, float* %164, align 4, !tbaa !1396\\n %166 = insertelement <8 x float> undef, float %165, i32 0\\n %167 = shufflevector <8 x float> %166, <8 x float> undef, <8 x i32> zeroinitializer\\n %168 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %167, <8 x float> %131, <8 x float> %113)\\n %169 = add nsw i64 %121, 56\\n %170 = getelementptr inbounds float, float* %4, i64 %169\\n %171 = load float, float* %170, align 4, !tbaa !1396\\n %172 = insertelement <8 x float> undef, float %171, i32 0\\n %173 = shufflevector <8 x float> %172, <8 x float> undef, <8 x i32> zeroinitializer\\n %174 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %173, <8 x float> %131, <8 x float> %112)\\n %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1\\n %175 = add nuw nsw i32 %120, 1\\n %exitcond = icmp eq i64 %indvars.iv.next, 8\\n br i1 %exitcond, label %for_end9, label %for_body8, !prof !21\\n\\nfor_end9: ; preds = %for_body8\\n %176 = mul i32 %36, 96\\n %177 = or i32 %176, 8\\n %178 = trunc i64 %38 to i32\\n %179 = shl i32 %178, 3\\n %180 = add i32 %179, 8\\n %181 = sext i32 %177 to i64\\n br label %for_body8.1\\n\\nfor_body8.1: ; preds = %for_body8.1, %for_end9\\n %indvars.iv.1 = phi i64 [ 0, %for_end9 ], [ %indvars.iv.next.1, %for_body8.1 ]\\n %182 = phi <8 x float> [ %174, %for_end9 ], [ %244, %for_body8.1 ]\\n %183 = phi <8 x float> [ %168, %for_end9 ], [ %238, %for_body8.1 ]\\n %184 = phi <8 x float> [ %162, %for_end9 ], [ %232, %for_body8.1 ]\\n %185 = phi <8 x float> [ %156, %for_end9 ], [ %226, %for_body8.1 ]\\n %186 = phi <8 x float> [ %150, %for_end9 ], [ %220, %for_body8.1 ]\\n %187 = phi <8 x float> [ %144, %for_end9 ], [ %214, %for_body8.1 ]\\n %188 = phi <8 x float> [ %138, %for_end9 ], [ %208, %for_body8.1 ]\\n %189 = phi <8 x float> [ %132, %for_end9 ], [ %202, %for_body8.1 ]\\n %190 = phi i32 [ 0, %for_end9 ], [ %245, %for_body8.1 ]\\n %191 = add nsw i64 %indvars.iv.1, %181\\n %192 = getelementptr inbounds float, float* %4, i64 %191\\n %193 = load float, float* %192, align 4, !tbaa !1396\\n %194 = insertelement <8 x float> undef, float %193, i32 0\\n %195 = shufflevector <8 x float> %194, <8 x float> undef, <8 x i32> zeroinitializer\\n %196 = add nsw i32 %190, %180\\n %197 = shl nsw i32 %196, 3\\n %198 = sext i32 %197 to i64\\n %199 = getelementptr inbounds float, float* %7, i64 %198\\n %200 = bitcast float* %199 to <8 x float>*\\n %201 = load <8 x float>, <8 x float>* %200, align 32, !tbaa !1399\\n %202 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %195, <8 x float> %201, <8 x float> %189)\\n %203 = add nsw i64 %191, 8\\n %204 = getelementptr inbounds float, float* %4, i64 %203\\n %205 = load float, float* %204, align 4, !tbaa !1396\\n %206 = insertelement <8 x float> undef, float %205, i32 0\\n %207 = shufflevector <8 x float> %206, <8 x float> undef, <8 x i32> zeroinitializer\\n %208 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %207, <8 x float> %201, <8 x float> %188)\\n %209 = add nsw i64 %191, 16\\n %210 = getelementptr inbounds float, float* %4, i64 %209\\n %211 = load float, float* %210, align 4, !tbaa !1396\\n %212 = insertelement <8 x float> undef, float %211, i32 0\\n %213 = shufflevector <8 x float> %212, <8 x float> undef, <8 x i32> zeroinitializer\\n %214 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %213, <8 x float> %201, <8 x float> %187)\\n %215 = add nsw i64 %191, 24\\n %216 = getelementptr inbounds float, float* %4, i64 %215\\n %217 = load float, float* %216, align 4, !tbaa !1396\\n %218 = insertelement <8 x float> undef, float %217, i32 0\\n %219 = shufflevector <8 x float> %218, <8 x float> undef, <8 x i32> zeroinitializer\\n %220 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %219, <8 x float> %201, <8 x float> %186)\\n %221 = add nsw i64 %191, 32\\n %222 = getelementptr inbounds float, float* %4, i64 %221\\n %223 = load float, float* %222, align 4, !tbaa !1396\\n %224 = insertelement <8 x float> undef, float %223, i32 0\\n %225 = shufflevector <8 x float> %224, <8 x float> undef, <8 x i32> zeroinitializer\\n %226 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %225, <8 x float> %201, <8 x float> %185)\\n %227 = add nsw i64 %191, 40\\n %228 = getelementptr inbounds float, float* %4, i64 %227\\n %229 = load float, float* %228, align 4, !tbaa !1396\\n %230 = insertelement <8 x float> undef, float %229, i32 0\\n %231 = shufflevector <8 x float> %230, <8 x float> undef, <8 x i32> zeroinitializer\\n %232 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %231, <8 x float> %201, <8 x float> %184)\\n %233 = add nsw i64 %191, 48\\n %234 = getelementptr inbounds float, float* %4, i64 %233\\n %235 = load float, float* %234, align 4, !tbaa !1396\\n %236 = insertelement <8 x float> undef, float %235, i32 0\\n %237 = shufflevector <8 x float> %236, <8 x float> undef, <8 x i32> zeroinitializer\\n %238 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %237, <8 x float> %201, <8 x float> %183)\\n %239 = add nsw i64 %191, 56\\n %240 = getelementptr inbounds float, float* %4, i64 %239\\n %241 = load float, float* %240, align 4, !tbaa !1396\\n %242 = insertelement <8 x float> undef, float %241, i32 0\\n %243 = shufflevector <8 x float> %242, <8 x float> undef, <8 x i32> zeroinitializer\\n %244 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %243, <8 x float> %201, <8 x float> %182)\\n %indvars.iv.next.1 = add nuw nsw i64 %indvars.iv.1, 1\\n %245 = add nuw nsw i32 %190, 1\\n %exitcond.1 = icmp eq i64 %indvars.iv.next.1, 8\\n br i1 %exitcond.1, label %for_end9.1, label %for_body8.1, !prof !21\\n\\nfor_end9.1: ; preds = %for_body8.1\\n %246 = mul i32 %36, 96\\n %247 = or i32 %246, 16\\n %248 = trunc i64 %38 to i32\\n %249 = shl i32 %248, 3\\n %250 = add i32 %249, 16\\n %251 = sext i32 %247 to i64\\n br label %for_body8.2\\n\\nfor_body8.2: ; preds = %for_body8.2, %for_end9.1\\n %indvars.iv.2 = phi i64 [ 0, %for_end9.1 ], [ %indvars.iv.next.2, %for_body8.2 ]\\n %252 = phi <8 x float> [ %244, %for_end9.1 ], [ %314, %for_body8.2 ]\\n %253 = phi <8 x float> [ %238, %for_end9.1 ], [ %308, %for_body8.2 ]\\n %254 = phi <8 x float> [ %232, %for_end9.1 ], [ %302, %for_body8.2 ]\\n %255 = phi <8 x float> [ %226, %for_end9.1 ], [ %296, %for_body8.2 ]\\n %256 = phi <8 x float> [ %220, %for_end9.1 ], [ %290, %for_body8.2 ]\\n %257 = phi <8 x float> [ %214, %for_end9.1 ], [ %284, %for_body8.2 ]\\n %258 = phi <8 x float> [ %208, %for_end9.1 ], [ %278, %for_body8.2 ]\\n %259 = phi <8 x float> [ %202, %for_end9.1 ], [ %272, %for_body8.2 ]\\n %260 = phi i32 [ 0, %for_end9.1 ], [ %315, %for_body8.2 ]\\n %261 = add nsw i64 %indvars.iv.2, %251\\n %262 = getelementptr inbounds float, float* %4, i64 %261\\n %263 = load float, float* %262, align 4, !tbaa !1396\\n %264 = insertelement <8 x float> undef, float %263, i32 0\\n %265 = shufflevector <8 x float> %264, <8 x float> undef, <8 x i32> zeroinitializer\\n %266 = add nsw i32 %260, %250\\n %267 = shl nsw i32 %266, 3\\n %268 = sext i32 %267 to i64\\n %269 = getelementptr inbounds float, float* %7, i64 %268\\n %270 = bitcast float* %269 to <8 x float>*\\n %271 = load <8 x float>, <8 x float>* %270, align 32, !tbaa !1399\\n %272 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %265, <8 x float> %271, <8 x float> %259)\\n %273 = add nsw i64 %261, 8\\n %274 = getelementptr inbounds float, float* %4, i64 %273\\n %275 = load float, float* %274, align 4, !tbaa !1396\\n %276 = insertelement <8 x float> undef, float %275, i32 0\\n %277 = shufflevector <8 x float> %276, <8 x float> undef, <8 x i32> zeroinitializer\\n %278 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %277, <8 x float> %271, <8 x float> %258)\\n %279 = add nsw i64 %261, 16\\n %280 = getelementptr inbounds float, float* %4, i64 %279\\n %281 = load float, float* %280, align 4, !tbaa !1396\\n %282 = insertelement <8 x float> undef, float %281, i32 0\\n %283 = shufflevector <8 x float> %282, <8 x float> undef, <8 x i32> zeroinitializer\\n %284 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %283, <8 x float> %271, <8 x float> %257)\\n %285 = add nsw i64 %261, 24\\n %286 = getelementptr inbounds float, float* %4, i64 %285\\n %287 = load float, float* %286, align 4, !tbaa !1396\\n %288 = insertelement <8 x float> undef, float %287, i32 0\\n %289 = shufflevector <8 x float> %288, <8 x float> undef, <8 x i32> zeroinitializer\\n %290 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %289, <8 x float> %271, <8 x float> %256)\\n %291 = add nsw i64 %261, 32\\n %292 = getelementptr inbounds float, float* %4, i64 %291\\n %293 = load float, float* %292, align 4, !tbaa !1396\\n %294 = insertelement <8 x float> undef, float %293, i32 0\\n %295 = shufflevector <8 x float> %294, <8 x float> undef, <8 x i32> zeroinitializer\\n %296 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %295, <8 x float> %271, <8 x float> %255)\\n %297 = add nsw i64 %261, 40\\n %298 = getelementptr inbounds float, float* %4, i64 %297\\n %299 = load float, float* %298, align 4, !tbaa !1396\\n %300 = insertelement <8 x float> undef, float %299, i32 0\\n %301 = shufflevector <8 x float> %300, <8 x float> undef, <8 x i32> zeroinitializer\\n %302 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %301, <8 x float> %271, <8 x float> %254)\\n %303 = add nsw i64 %261, 48\\n %304 = getelementptr inbounds float, float* %4, i64 %303\\n %305 = load float, float* %304, align 4, !tbaa !1396\\n %306 = insertelement <8 x float> undef, float %305, i32 0\\n %307 = shufflevector <8 x float> %306, <8 x float> undef, <8 x i32> zeroinitializer\\n %308 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %307, <8 x float> %271, <8 x float> %253)\\n %309 = add nsw i64 %261, 56\\n %310 = getelementptr inbounds float, float* %4, i64 %309\\n %311 = load float, float* %310, align 4, !tbaa !1396\\n %312 = insertelement <8 x float> undef, float %311, i32 0\\n %313 = shufflevector <8 x float> %312, <8 x float> undef, <8 x i32> zeroinitializer\\n %314 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %313, <8 x float> %271, <8 x float> %252)\\n %indvars.iv.next.2 = add nuw nsw i64 %indvars.iv.2, 1\\n %315 = add nuw nsw i32 %260, 1\\n %exitcond.2 = icmp eq i64 %indvars.iv.next.2, 8\\n br i1 %exitcond.2, label %for_end9.2, label %for_body8.2, !prof !21\\n\\nfor_end9.2: ; preds = %for_body8.2\\n %316 = mul i32 %36, 96\\n %317 = or i32 %316, 24\\n %318 = trunc i64 %38 to i32\\n %319 = shl i32 %318, 3\\n %320 = add i32 %319, 24\\n %321 = sext i32 %317 to i64\\n br label %for_body8.3\\n\\nfor_body8.3: ; preds = %for_body8.3, %for_end9.2\\n %indvars.iv.3 = phi i64 [ 0, %for_end9.2 ], [ %indvars.iv.next.3, %for_body8.3 ]\\n %322 = phi <8 x float> [ %314, %for_end9.2 ], [ %384, %for_body8.3 ]\\n %323 = phi <8 x float> [ %308, %for_end9.2 ], [ %378, %for_body8.3 ]\\n %324 = phi <8 x float> [ %302, %for_end9.2 ], [ %372, %for_body8.3 ]\\n %325 = phi <8 x float> [ %296, %for_end9.2 ], [ %366, %for_body8.3 ]\\n %326 = phi <8 x float> [ %290, %for_end9.2 ], [ %360, %for_body8.3 ]\\n %327 = phi <8 x float> [ %284, %for_end9.2 ], [ %354, %for_body8.3 ]\\n %328 = phi <8 x float> [ %278, %for_end9.2 ], [ %348, %for_body8.3 ]\\n %329 = phi <8 x float> [ %272, %for_end9.2 ], [ %342, %for_body8.3 ]\\n %330 = phi i32 [ 0, %for_end9.2 ], [ %385, %for_body8.3 ]\\n %331 = add nsw i64 %indvars.iv.3, %321\\n %332 = getelementptr inbounds float, float* %4, i64 %331\\n %333 = load float, float* %332, align 4, !tbaa !1396\\n %334 = insertelement <8 x float> undef, float %333, i32 0\\n %335 = shufflevector <8 x float> %334, <8 x float> undef, <8 x i32> zeroinitializer\\n %336 = add nsw i32 %330, %320\\n %337 = shl nsw i32 %336, 3\\n %338 = sext i32 %337 to i64\\n %339 = getelementptr inbounds float, float* %7, i64 %338\\n %340 = bitcast float* %339 to <8 x float>*\\n %341 = load <8 x float>, <8 x float>* %340, align 32, !tbaa !1399\\n %342 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %335, <8 x float> %341, <8 x float> %329)\\n %343 = add nsw i64 %331, 8\\n %344 = getelementptr inbounds float, float* %4, i64 %343\\n %345 = load float, float* %344, align 4, !tbaa !1396\\n %346 = insertelement <8 x float> undef, float %345, i32 0\\n %347 = shufflevector <8 x float> %346, <8 x float> undef, <8 x i32> zeroinitializer\\n %348 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %347, <8 x float> %341, <8 x float> %328)\\n %349 = add nsw i64 %331, 16\\n %350 = getelementptr inbounds float, float* %4, i64 %349\\n %351 = load float, float* %350, align 4, !tbaa !1396\\n %352 = insertelement <8 x float> undef, float %351, i32 0\\n %353 = shufflevector <8 x float> %352, <8 x float> undef, <8 x i32> zeroinitializer\\n %354 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %353, <8 x float> %341, <8 x float> %327)\\n %355 = add nsw i64 %331, 24\\n %356 = getelementptr inbounds float, float* %4, i64 %355\\n %357 = load float, float* %356, align 4, !tbaa !1396\\n %358 = insertelement <8 x float> undef, float %357, i32 0\\n %359 = shufflevector <8 x float> %358, <8 x float> undef, <8 x i32> zeroinitializer\\n %360 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %359, <8 x float> %341, <8 x float> %326)\\n %361 = add nsw i64 %331, 32\\n %362 = getelementptr inbounds float, float* %4, i64 %361\\n %363 = load float, float* %362, align 4, !tbaa !1396\\n %364 = insertelement <8 x float> undef, float %363, i32 0\\n %365 = shufflevector <8 x float> %364, <8 x float> undef, <8 x i32> zeroinitializer\\n %366 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %365, <8 x float> %341, <8 x float> %325)\\n %367 = add nsw i64 %331, 40\\n %368 = getelementptr inbounds float, float* %4, i64 %367\\n %369 = load float, float* %368, align 4, !tbaa !1396\\n %370 = insertelement <8 x float> undef, float %369, i32 0\\n %371 = shufflevector <8 x float> %370, <8 x float> undef, <8 x i32> zeroinitializer\\n %372 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %371, <8 x float> %341, <8 x float> %324)\\n %373 = add nsw i64 %331, 48\\n %374 = getelementptr inbounds float, float* %4, i64 %373\\n %375 = load float, float* %374, align 4, !tbaa !1396\\n %376 = insertelement <8 x float> undef, float %375, i32 0\\n %377 = shufflevector <8 x float> %376, <8 x float> undef, <8 x i32> zeroinitializer\\n %378 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %377, <8 x float> %341, <8 x float> %323)\\n %379 = add nsw i64 %331, 56\\n %380 = getelementptr inbounds float, float* %4, i64 %379\\n %381 = load float, float* %380, align 4, !tbaa !1396\\n %382 = insertelement <8 x float> undef, float %381, i32 0\\n %383 = shufflevector <8 x float> %382, <8 x float> undef, <8 x i32> zeroinitializer\\n %384 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %383, <8 x float> %341, <8 x float> %322)\\n %indvars.iv.next.3 = add nuw nsw i64 %indvars.iv.3, 1\\n %385 = add nuw nsw i32 %330, 1\\n %exitcond.3 = icmp eq i64 %indvars.iv.next.3, 8\\n br i1 %exitcond.3, label %for_end9.3, label %for_body8.3, !prof !21\\n\\nfor_end9.3: ; preds = %for_body8.3\\n %386 = mul i32 %36, 96\\n %387 = add i32 %386, 32\\n %388 = trunc i64 %38 to i32\\n %389 = shl i32 %388, 3\\n %390 = add i32 %389, 32\\n %391 = sext i32 %387 to i64\\n br label %for_body8.4\\n\\nfor_body8.4: ; preds = %for_body8.4, %for_end9.3\\n %indvars.iv.4 = phi i64 [ 0, %for_end9.3 ], [ %indvars.iv.next.4, %for_body8.4 ]\\n %392 = phi <8 x float> [ %384, %for_end9.3 ], [ %454, %for_body8.4 ]\\n %393 = phi <8 x float> [ %378, %for_end9.3 ], [ %448, %for_body8.4 ]\\n %394 = phi <8 x float> [ %372, %for_end9.3 ], [ %442, %for_body8.4 ]\\n %395 = phi <8 x float> [ %366, %for_end9.3 ], [ %436, %for_body8.4 ]\\n %396 = phi <8 x float> [ %360, %for_end9.3 ], [ %430, %for_body8.4 ]\\n %397 = phi <8 x float> [ %354, %for_end9.3 ], [ %424, %for_body8.4 ]\\n %398 = phi <8 x float> [ %348, %for_end9.3 ], [ %418, %for_body8.4 ]\\n %399 = phi <8 x float> [ %342, %for_end9.3 ], [ %412, %for_body8.4 ]\\n %400 = phi i32 [ 0, %for_end9.3 ], [ %455, %for_body8.4 ]\\n %401 = add nsw i64 %indvars.iv.4, %391\\n %402 = getelementptr inbounds float, float* %4, i64 %401\\n %403 = load float, float* %402, align 4, !tbaa !1396\\n %404 = insertelement <8 x float> undef, float %403, i32 0\\n %405 = shufflevector <8 x float> %404, <8 x float> undef, <8 x i32> zeroinitializer\\n %406 = add nsw i32 %400, %390\\n %407 = shl nsw i32 %406, 3\\n %408 = sext i32 %407 to i64\\n %409 = getelementptr inbounds float, float* %7, i64 %408\\n %410 = bitcast float* %409 to <8 x float>*\\n %411 = load <8 x float>, <8 x float>* %410, align 32, !tbaa !1399\\n %412 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %405, <8 x float> %411, <8 x float> %399)\\n %413 = add nsw i64 %401, 8\\n %414 = getelementptr inbounds float, float* %4, i64 %413\\n %415 = load float, float* %414, align 4, !tbaa !1396\\n %416 = insertelement <8 x float> undef, float %415, i32 0\\n %417 = shufflevector <8 x float> %416, <8 x float> undef, <8 x i32> zeroinitializer\\n %418 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %417, <8 x float> %411, <8 x float> %398)\\n %419 = add nsw i64 %401, 16\\n %420 = getelementptr inbounds float, float* %4, i64 %419\\n %421 = load float, float* %420, align 4, !tbaa !1396\\n %422 = insertelement <8 x float> undef, float %421, i32 0\\n %423 = shufflevector <8 x float> %422, <8 x float> undef, <8 x i32> zeroinitializer\\n %424 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %423, <8 x float> %411, <8 x float> %397)\\n %425 = add nsw i64 %401, 24\\n %426 = getelementptr inbounds float, float* %4, i64 %425\\n %427 = load float, float* %426, align 4, !tbaa !1396\\n %428 = insertelement <8 x float> undef, float %427, i32 0\\n %429 = shufflevector <8 x float> %428, <8 x float> undef, <8 x i32> zeroinitializer\\n %430 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %429, <8 x float> %411, <8 x float> %396)\\n %431 = add nsw i64 %401, 32\\n %432 = getelementptr inbounds float, float* %4, i64 %431\\n %433 = load float, float* %432, align 4, !tbaa !1396\\n %434 = insertelement <8 x float> undef, float %433, i32 0\\n %435 = shufflevector <8 x float> %434, <8 x float> undef, <8 x i32> zeroinitializer\\n %436 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %435, <8 x float> %411, <8 x float> %395)\\n %437 = add nsw i64 %401, 40\\n %438 = getelementptr inbounds float, float* %4, i64 %437\\n %439 = load float, float* %438, align 4, !tbaa !1396\\n %440 = insertelement <8 x float> undef, float %439, i32 0\\n %441 = shufflevector <8 x float> %440, <8 x float> undef, <8 x i32> zeroinitializer\\n %442 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %441, <8 x float> %411, <8 x float> %394)\\n %443 = add nsw i64 %401, 48\\n %444 = getelementptr inbounds float, float* %4, i64 %443\\n %445 = load float, float* %444, align 4, !tbaa !1396\\n %446 = insertelement <8 x float> undef, float %445, i32 0\\n %447 = shufflevector <8 x float> %446, <8 x float> undef, <8 x i32> zeroinitializer\\n %448 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %447, <8 x float> %411, <8 x float> %393)\\n %449 = add nsw i64 %401, 56\\n %450 = getelementptr inbounds float, float* %4, i64 %449\\n %451 = load float, float* %450, align 4, !tbaa !1396\\n %452 = insertelement <8 x float> undef, float %451, i32 0\\n %453 = shufflevector <8 x float> %452, <8 x float> undef, <8 x i32> zeroinitializer\\n %454 = tail call <8 x float> @llvm.fmuladd.v8f32(<8 x float> %453, <8 x float> %411, <8 x float> %392)\\n %indvars.iv.next.4 = add nuw nsw i64 %indvars.iv.4, 1\\n %455 = add nuw nsw i32 %400, 1\\n %exitcond.4 = icmp eq i64 %indvars.iv.next.4, 8\\n br i1 %exitcond.4, label %for_end9.4, label %for_body8.4, !prof !21\\n\\nfor_end9.4: ; preds = %for_body8.4\\n %indvars.iv.next66 = add nuw nsw i64 %indvars.iv65, 1\\n %456 = add nuw nsw i32 %35, 1\\n %exitcond67 = icmp eq i64 %indvars.iv.next66, 5\\n br i1 %exitcond67, label %for_end3, label %for_body2, !prof !21\\n}\\n\\ndefine dllexport i32 @fused_layout_transform(i8* noalias nocapture readonly, i8* noalias nocapture readonly, i32) local_unnamed_addr {\\nentry:\\n %3 = icmp eq i32 %2, 2\\n br i1 %3, label %assert_end, label %assert_fail, !prof !1\\n\\nassert_fail: ; preds = %entry\\n %4 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %4(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.145, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end: ; preds = %entry\\n %5 = bitcast i8* %0 to %1**\\n %6 = load %1*, %1** %5, align 8\\n %7 = bitcast i8* %1 to i32*\\n %8 = load i32, i32* %7, align 4, !tbaa !1402\\n %9 = getelementptr inbounds i8, i8* %0, i64 8\\n %10 = bitcast i8* %9 to %1**\\n %11 = load %1*, %1** %10, align 8\\n %12 = getelementptr inbounds i8, i8* %1, i64 4\\n %13 = bitcast i8* %12 to i32*\\n %14 = load i32, i32* %13, align 4, !tbaa !1416\\n %15 = getelementptr inbounds %1, %1* %6, i64 0, i32 0\\n %16 = load i8*, i8** %15, align 8\\n %17 = getelementptr inbounds %1, %1* %6, i64 0, i32 4\\n %18 = load i64*, i64** %17, align 8\\n %19 = getelementptr inbounds %1, %1* %6, i64 0, i32 5\\n %20 = load i64*, i64** %19, align 8\\n %21 = icmp eq i64* %20, null\\n br i1 %21, label %if_end, label %if_then, !prof !21\\n\\nif_then: ; preds = %assert_end\\n %22 = load i64, i64* %20, align 8, !tbaa !1418\\n %23 = trunc i64 %22 to i32\\n %24 = icmp eq i32 %23, 25\\n %25 = getelementptr inbounds i64, i64* %20, i64 1\\n %26 = load i64, i64* %25, align 8, !tbaa !1432\\n %27 = trunc i64 %26 to i32\\n %28 = icmp eq i32 %27, 25\\n %29 = getelementptr inbounds i64, i64* %20, i64 2\\n %30 = load i64, i64* %29, align 8, !tbaa !1434\\n %31 = trunc i64 %30 to i32\\n %32 = icmp eq i32 %31, 5\\n %33 = getelementptr inbounds i64, i64* %20, i64 3\\n %34 = load i64, i64* %33, align 8, !tbaa !1437\\n %35 = trunc i64 %34 to i32\\n %36 = icmp eq i32 %35, 1\\n %37 = and i1 %32, %36\\n %38 = and i1 %28, %37\\n %39 = and i1 %24, %38\\n br i1 %39, label %if_end, label %assert_fail1, !prof !1\\n\\nif_end: ; preds = %assert_end, %if_then\\n %40 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 0\\n %41 = load i32, i32* %40, align 4\\n %42 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 1\\n %43 = load i32, i32* %42, align 4\\n %44 = getelementptr inbounds %1, %1* %11, i64 0, i32 0\\n %45 = load i8*, i8** %44, align 8\\n %46 = getelementptr inbounds %1, %1* %11, i64 0, i32 4\\n %47 = load i64*, i64** %46, align 8\\n %48 = getelementptr inbounds %1, %1* %11, i64 0, i32 5\\n %49 = load i64*, i64** %48, align 8\\n %50 = icmp eq i64* %49, null\\n br i1 %50, label %if_end4, label %if_then3, !prof !21\\n\\nassert_fail1: ; preds = %if_then\\n %51 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %51(i8* getelementptr inbounds ([194 x i8], [194 x i8]* @.str.146, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then3: ; preds = %if_end\\n %52 = load i64, i64* %49, align 8, !tbaa !1439\\n %53 = trunc i64 %52 to i32\\n %54 = icmp eq i32 %53, 200\\n %55 = getelementptr inbounds i64, i64* %49, i64 1\\n %56 = load i64, i64* %55, align 8, !tbaa !1453\\n %57 = trunc i64 %56 to i32\\n %58 = icmp eq i32 %57, 200\\n %59 = getelementptr inbounds i64, i64* %49, i64 2\\n %60 = load i64, i64* %59, align 8, !tbaa !1455\\n %61 = trunc i64 %60 to i32\\n %62 = icmp eq i32 %61, 40\\n %63 = getelementptr inbounds i64, i64* %49, i64 3\\n %64 = load i64, i64* %63, align 8, !tbaa !1458\\n %65 = trunc i64 %64 to i32\\n %66 = icmp eq i32 %65, 8\\n %67 = getelementptr inbounds i64, i64* %49, i64 4\\n %68 = load i64, i64* %67, align 8, !tbaa !1460\\n %69 = trunc i64 %68 to i32\\n %70 = icmp eq i32 %69, 8\\n %71 = getelementptr inbounds i64, i64* %49, i64 5\\n %72 = load i64, i64* %71, align 8, !tbaa !1464\\n %73 = trunc i64 %72 to i32\\n %74 = icmp eq i32 %73, 1\\n %75 = and i1 %70, %74\\n %76 = and i1 %66, %75\\n %77 = and i1 %62, %76\\n %78 = and i1 %58, %77\\n %79 = and i1 %54, %78\\n br i1 %79, label %if_end4, label %assert_fail5, !prof !1\\n\\nif_end4: ; preds = %if_end, %if_then3\\n switch i32 %8, label %assert_fail7 [\\n i32 13, label %assert_end8\\n i32 7, label %assert_end8\\n i32 4, label %assert_end8\\n i32 3, label %assert_end8\\n ]\\n\\nassert_fail5: ; preds = %if_then3\\n %80 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %80(i8* getelementptr inbounds ([267 x i8], [267 x i8]* @.str.73, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_fail7: ; preds = %if_end4\\n %81 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %81(i8* getelementptr inbounds ([150 x i8], [150 x i8]* @.str.147, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end8: ; preds = %if_end4, %if_end4, %if_end4, %if_end4\\n switch i32 %14, label %assert_fail9 [\\n i32 13, label %assert_end10\\n i32 7, label %assert_end10\\n i32 4, label %assert_end10\\n i32 3, label %assert_end10\\n ]\\n\\nassert_fail9: ; preds = %assert_end8\\n %82 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %82(i8* getelementptr inbounds ([150 x i8], [150 x i8]* @.str.148, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end10: ; preds = %assert_end8, %assert_end8, %assert_end8, %assert_end8\\n %83 = icmp eq i32 %41, 1\\n br i1 %83, label %assert_end12, label %assert_fail11, !prof !1\\n\\nassert_fail11: ; preds = %assert_end10\\n %84 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %84(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.5, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end12: ; preds = %assert_end10\\n %85 = getelementptr inbounds %1, %1* %6, i64 0, i32 2\\n %86 = load i32, i32* %85, align 4\\n %87 = icmp eq i32 %86, 4\\n br i1 %87, label %assert_end14, label %assert_fail13, !prof !1\\n\\nassert_fail13: ; preds = %assert_end12\\n %88 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %88(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.6, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end14: ; preds = %assert_end12\\n %89 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 2\\n %90 = load i16, i16* %89, align 2\\n %91 = icmp eq i16 %90, 1\\n %92 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 1\\n %93 = load i8, i8* %92, align 1\\n %94 = icmp eq i8 %93, 32\\n %95 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 0\\n %96 = load i8, i8* %95, align 1\\n %97 = icmp eq i8 %96, 2\\n %98 = and i1 %94, %97\\n %99 = and i1 %91, %98\\n br i1 %99, label %assert_end16, label %assert_fail15, !prof !1\\n\\nassert_fail15: ; preds = %assert_end14\\n %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %100(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.7, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end16: ; preds = %assert_end14\\n %101 = load i64, i64* %18, align 8, !tbaa !1466\\n %102 = trunc i64 %101 to i32\\n %103 = icmp eq i32 %102, 8\\n br i1 %103, label %assert_end18, label %assert_fail17, !prof !1\\n\\nassert_fail17: ; preds = %assert_end16\\n %104 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %104(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.42, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end18: ; preds = %assert_end16\\n %105 = getelementptr inbounds i64, i64* %18, i64 1\\n %106 = load i64, i64* %105, align 8, !tbaa !1480\\n %107 = trunc i64 %106 to i32\\n %108 = icmp eq i32 %107, 1\\n br i1 %108, label %assert_end20, label %assert_fail19, !prof !1\\n\\nassert_fail19: ; preds = %assert_end18\\n %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %109(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.43, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end20: ; preds = %assert_end18\\n %110 = getelementptr inbounds i64, i64* %18, i64 2\\n %111 = load i64, i64* %110, align 8, !tbaa !1482\\n %112 = trunc i64 %111 to i32\\n %113 = icmp eq i32 %112, 5\\n br i1 %113, label %assert_end22, label %assert_fail21, !prof !1\\n\\nassert_fail21: ; preds = %assert_end20\\n %114 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %114(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.26, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end22: ; preds = %assert_end20\\n %115 = getelementptr inbounds i64, i64* %18, i64 3\\n %116 = load i64, i64* %115, align 8, !tbaa !1485\\n %117 = trunc i64 %116 to i32\\n %118 = icmp eq i32 %117, 5\\n br i1 %118, label %assert_end24, label %assert_fail23, !prof !1\\n\\nassert_fail23: ; preds = %assert_end22\\n %119 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %119(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.27, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end24: ; preds = %assert_end22\\n %120 = getelementptr inbounds %1, %1* %6, i64 0, i32 6\\n %121 = load i64, i64* %120, align 8\\n %122 = icmp eq i64 %121, 0\\n br i1 %122, label %assert_end26, label %assert_fail25, !prof !1\\n\\nassert_fail25: ; preds = %assert_end24\\n %123 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %123(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.12, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end26: ; preds = %assert_end24\\n %124 = getelementptr inbounds %1, %1* %11, i64 0, i32 2\\n %125 = load i32, i32* %124, align 4\\n %126 = icmp eq i32 %125, 6\\n br i1 %126, label %assert_end28, label %assert_fail27, !prof !1\\n\\nassert_fail27: ; preds = %assert_end26\\n %127 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %127(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.28, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end28: ; preds = %assert_end26\\n %128 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 2\\n %129 = load i16, i16* %128, align 2\\n %130 = icmp eq i16 %129, 1\\n %131 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 1\\n %132 = load i8, i8* %131, align 1\\n %133 = icmp eq i8 %132, 32\\n %134 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 0\\n %135 = load i8, i8* %134, align 1\\n %136 = icmp eq i8 %135, 2\\n %137 = and i1 %133, %136\\n %138 = and i1 %130, %137\\n br i1 %138, label %assert_end30, label %assert_fail29, !prof !1\\n\\nassert_fail29: ; preds = %assert_end28\\n %139 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %139(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.14, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end30: ; preds = %assert_end28\\n %140 = load i64, i64* %47, align 8, !tbaa !1487\\n %141 = trunc i64 %140 to i32\\n %142 = icmp eq i32 %141, 1\\n br i1 %142, label %assert_end32, label %assert_fail31, !prof !1\\n\\nassert_fail31: ; preds = %assert_end30\\n %143 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %143(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.46, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end32: ; preds = %assert_end30\\n %144 = getelementptr inbounds i64, i64* %47, i64 1\\n %145 = load i64, i64* %144, align 8, !tbaa !1501\\n %146 = trunc i64 %145 to i32\\n %147 = icmp eq i32 %146, 1\\n br i1 %147, label %assert_end34, label %assert_fail33, !prof !1\\n\\nassert_fail33: ; preds = %assert_end32\\n %148 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %148(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.30, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end34: ; preds = %assert_end32\\n %149 = getelementptr inbounds i64, i64* %47, i64 2\\n %150 = load i64, i64* %149, align 8, !tbaa !1503\\n %151 = trunc i64 %150 to i32\\n %152 = icmp eq i32 %151, 5\\n br i1 %152, label %assert_end36, label %assert_fail35, !prof !1\\n\\nassert_fail35: ; preds = %assert_end34\\n %153 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %153(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.31, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end36: ; preds = %assert_end34\\n %154 = getelementptr inbounds i64, i64* %47, i64 3\\n %155 = load i64, i64* %154, align 8, !tbaa !1506\\n %156 = trunc i64 %155 to i32\\n %157 = icmp eq i32 %156, 5\\n br i1 %157, label %assert_end38, label %assert_fail37, !prof !1\\n\\nassert_fail37: ; preds = %assert_end36\\n %158 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %158(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.32, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end38: ; preds = %assert_end36\\n %159 = getelementptr inbounds i64, i64* %47, i64 4\\n %160 = load i64, i64* %159, align 8, !tbaa !1508\\n %161 = trunc i64 %160 to i32\\n %162 = icmp eq i32 %161, 1\\n br i1 %162, label %assert_end40, label %assert_fail39, !prof !1\\n\\nassert_fail39: ; preds = %assert_end38\\n %163 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %163(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.60, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end40: ; preds = %assert_end38\\n %164 = getelementptr inbounds i64, i64* %47, i64 5\\n %165 = load i64, i64* %164, align 8, !tbaa !1512\\n %166 = trunc i64 %165 to i32\\n %167 = icmp eq i32 %166, 8\\n br i1 %167, label %assert_end42, label %assert_fail41, !prof !1\\n\\nassert_fail41: ; preds = %assert_end40\\n %168 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %168(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.34, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end42: ; preds = %assert_end40\\n %169 = getelementptr inbounds %1, %1* %11, i64 0, i32 6\\n %170 = load i64, i64* %169, align 8\\n %171 = icmp eq i64 %170, 0\\n br i1 %171, label %assert_end44, label %assert_fail43, !prof !1\\n\\nassert_fail43: ; preds = %assert_end42\\n %172 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %172(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.17, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end44: ; preds = %assert_end42\\n %173 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 0\\n %174 = load i32, i32* %173, align 4\\n %175 = icmp eq i32 %174, 1\\n br i1 %175, label %assert_end46, label %assert_fail45, !prof !1\\n\\nassert_fail45: ; preds = %assert_end44\\n %176 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %176(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.18, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end46: ; preds = %assert_end44\\n %177 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 1\\n %178 = load i32, i32* %177, align 4\\n %179 = icmp eq i32 %43, %178\\n br i1 %179, label %assert_end48, label %assert_fail47, !prof !1\\n\\nassert_fail47: ; preds = %assert_end46\\n %180 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %180(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.19, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end48: ; preds = %assert_end46\\n %181 = tail call fastcc i32 @fused_layout_transform_compute_(i8* %45, i8* %16)\\n ret i32 %181\\n}\\n\\n; Function Attrs: noinline\\ndefine private fastcc i32 @fused_layout_transform_compute_(i8* noalias, i8* noalias) unnamed_addr #0 {\\nentry:\\n %2 = alloca %12, align 8\\n %3 = getelementptr inbounds %12, %12* %2, i64 0, i32 0\\n store i8* %0, i8** %3, align 8\\n %4 = getelementptr inbounds %12, %12* %2, i64 0, i32 1\\n store i8* %1, i8** %4, align 8\\n %5 = bitcast %12* %2 to i8*\\n %6 = load i32 (i32 (i32, %0*, i8*)*, i8*, i32)*, i32 (i32 (i32, %0*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !2\\n %7 = call i32 %6(i32 (i32, %0*, i8*)* nonnull @__tvm_parallel_lambda.149, i8* nonnull %5, i32 0)\\n ret i32 %7\\n}\\n\\n; Function Attrs: norecurse nounwind\\ndefine private i32 @__tvm_parallel_lambda.149(i32, %0* nocapture readonly, i8* nocapture readonly) #1 {\\nentry:\\n %3 = bitcast i8* %2 to float**\\n %4 = load float*, float** %3, align 8\\n %5 = getelementptr inbounds i8, i8* %2, i64 8\\n %6 = bitcast i8* %5 to float**\\n %7 = load float*, float** %6, align 8\\n %8 = getelementptr inbounds %0, %0* %1, i64 0, i32 1\\n %9 = load i32, i32* %8, align 4\\n %10 = add nsw i32 %9, 4\\n %11 = sdiv i32 %10, %9\\n %12 = add nsw i32 %0, 1\\n %13 = mul nsw i32 %11, %12\\n %14 = icmp slt i32 %13, 5\\n %15 = select i1 %14, i32 %13, i32 5\\n %16 = mul nsw i32 %11, %0\\n %17 = icmp slt i32 %16, 5\\n %18 = select i1 %17, i32 %16, i32 5\\n %19 = icmp slt i32 %18, %15\\n br i1 %19, label %for_body.lr.ph, label %for_end, !prof !1\\n\\nfor_body.lr.ph: ; preds = %entry\\n %20 = add i32 %18, 1\\n %21 = sext i32 %20 to i64\\n %22 = add nsw i64 %21, -1\\n %23 = sext i32 %15 to i64\\n br label %for_body\\n\\nfor_body: ; preds = %for_body.lr.ph, %for_body\\n %indvars.iv = phi i64 [ %22, %for_body.lr.ph ], [ %indvars.iv.next, %for_body ]\\n %24 = mul nsw i64 %indvars.iv, 5\\n %25 = trunc i64 %24 to i32\\n %26 = shl i32 %25, 3\\n %27 = sext i32 %26 to i64\\n %28 = getelementptr inbounds float, float* %7, i64 %24\\n %29 = bitcast float* %28 to i32*\\n %30 = load i32, i32* %29, align 4, !tbaa !1514\\n %31 = getelementptr inbounds float, float* %4, i64 %27\\n %32 = bitcast float* %31 to i32*\\n store i32 %30, i32* %32, align 4, !tbaa !1517\\n %33 = or i64 %27, 1\\n %34 = mul i64 %indvars.iv, 5\\n %35 = add i64 %34, 25\\n %36 = getelementptr inbounds float, float* %7, i64 %35\\n %37 = bitcast float* %36 to i32*\\n %38 = load i32, i32* %37, align 4, !tbaa !1514\\n %39 = getelementptr inbounds float, float* %4, i64 %33\\n %40 = bitcast float* %39 to i32*\\n store i32 %38, i32* %40, align 4, !tbaa !1517\\n %41 = or i64 %27, 2\\n %42 = mul i64 %indvars.iv, 5\\n %43 = add i64 %42, 50\\n %44 = getelementptr inbounds float, float* %7, i64 %43\\n %45 = bitcast float* %44 to i32*\\n %46 = load i32, i32* %45, align 4, !tbaa !1514\\n %47 = getelementptr inbounds float, float* %4, i64 %41\\n %48 = bitcast float* %47 to i32*\\n store i32 %46, i32* %48, align 4, !tbaa !1517\\n %49 = or i64 %27, 3\\n %50 = mul i64 %indvars.iv, 5\\n %51 = add i64 %50, 75\\n %52 = getelementptr inbounds float, float* %7, i64 %51\\n %53 = bitcast float* %52 to i32*\\n %54 = load i32, i32* %53, align 4, !tbaa !1514\\n %55 = getelementptr inbounds float, float* %4, i64 %49\\n %56 = bitcast float* %55 to i32*\\n store i32 %54, i32* %56, align 4, !tbaa !1517\\n %57 = or i64 %27, 4\\n %58 = mul i64 %indvars.iv, 5\\n %59 = add i64 %58, 100\\n %60 = getelementptr inbounds float, float* %7, i64 %59\\n %61 = bitcast float* %60 to i32*\\n %62 = load i32, i32* %61, align 4, !tbaa !1514\\n %63 = getelementptr inbounds float, float* %4, i64 %57\\n %64 = bitcast float* %63 to i32*\\n store i32 %62, i32* %64, align 4, !tbaa !1517\\n %65 = or i64 %27, 5\\n %66 = mul i64 %indvars.iv, 5\\n %67 = add i64 %66, 125\\n %68 = getelementptr inbounds float, float* %7, i64 %67\\n %69 = bitcast float* %68 to i32*\\n %70 = load i32, i32* %69, align 4, !tbaa !1514\\n %71 = getelementptr inbounds float, float* %4, i64 %65\\n %72 = bitcast float* %71 to i32*\\n store i32 %70, i32* %72, align 4, !tbaa !1517\\n %73 = or i64 %27, 6\\n %74 = mul i64 %indvars.iv, 5\\n %75 = add i64 %74, 150\\n %76 = getelementptr inbounds float, float* %7, i64 %75\\n %77 = bitcast float* %76 to i32*\\n %78 = load i32, i32* %77, align 4, !tbaa !1514\\n %79 = getelementptr inbounds float, float* %4, i64 %73\\n %80 = bitcast float* %79 to i32*\\n store i32 %78, i32* %80, align 4, !tbaa !1517\\n %81 = or i64 %27, 7\\n %82 = mul i64 %indvars.iv, 5\\n %83 = add i64 %82, 175\\n %84 = getelementptr inbounds float, float* %7, i64 %83\\n %85 = bitcast float* %84 to i32*\\n %86 = load i32, i32* %85, align 4, !tbaa !1514\\n %87 = getelementptr inbounds float, float* %4, i64 %81\\n %88 = bitcast float* %87 to i32*\\n store i32 %86, i32* %88, align 4, !tbaa !1517\\n %89 = add nsw i64 %24, 1\\n %90 = trunc i64 %89 to i32\\n %91 = shl i32 %90, 3\\n %92 = sext i32 %91 to i64\\n %93 = getelementptr inbounds float, float* %7, i64 %89\\n %94 = bitcast float* %93 to i32*\\n %95 = load i32, i32* %94, align 4, !tbaa !1514\\n %96 = getelementptr inbounds float, float* %4, i64 %92\\n %97 = bitcast float* %96 to i32*\\n store i32 %95, i32* %97, align 4, !tbaa !1517\\n %98 = or i64 %92, 1\\n %99 = add i64 %34, 26\\n %100 = getelementptr inbounds float, float* %7, i64 %99\\n %101 = bitcast float* %100 to i32*\\n %102 = load i32, i32* %101, align 4, !tbaa !1514\\n %103 = getelementptr inbounds float, float* %4, i64 %98\\n %104 = bitcast float* %103 to i32*\\n store i32 %102, i32* %104, align 4, !tbaa !1517\\n %105 = or i64 %92, 2\\n %106 = add i64 %42, 51\\n %107 = getelementptr inbounds float, float* %7, i64 %106\\n %108 = bitcast float* %107 to i32*\\n %109 = load i32, i32* %108, align 4, !tbaa !1514\\n %110 = getelementptr inbounds float, float* %4, i64 %105\\n %111 = bitcast float* %110 to i32*\\n store i32 %109, i32* %111, align 4, !tbaa !1517\\n %112 = or i64 %92, 3\\n %113 = add i64 %50, 76\\n %114 = getelementptr inbounds float, float* %7, i64 %113\\n %115 = bitcast float* %114 to i32*\\n %116 = load i32, i32* %115, align 4, !tbaa !1514\\n %117 = getelementptr inbounds float, float* %4, i64 %112\\n %118 = bitcast float* %117 to i32*\\n store i32 %116, i32* %118, align 4, !tbaa !1517\\n %119 = or i64 %92, 4\\n %120 = add i64 %58, 101\\n %121 = getelementptr inbounds float, float* %7, i64 %120\\n %122 = bitcast float* %121 to i32*\\n %123 = load i32, i32* %122, align 4, !tbaa !1514\\n %124 = getelementptr inbounds float, float* %4, i64 %119\\n %125 = bitcast float* %124 to i32*\\n store i32 %123, i32* %125, align 4, !tbaa !1517\\n %126 = or i64 %92, 5\\n %127 = add i64 %66, 126\\n %128 = getelementptr inbounds float, float* %7, i64 %127\\n %129 = bitcast float* %128 to i32*\\n %130 = load i32, i32* %129, align 4, !tbaa !1514\\n %131 = getelementptr inbounds float, float* %4, i64 %126\\n %132 = bitcast float* %131 to i32*\\n store i32 %130, i32* %132, align 4, !tbaa !1517\\n %133 = or i64 %92, 6\\n %134 = add i64 %74, 151\\n %135 = getelementptr inbounds float, float* %7, i64 %134\\n %136 = bitcast float* %135 to i32*\\n %137 = load i32, i32* %136, align 4, !tbaa !1514\\n %138 = getelementptr inbounds float, float* %4, i64 %133\\n %139 = bitcast float* %138 to i32*\\n store i32 %137, i32* %139, align 4, !tbaa !1517\\n %140 = or i64 %92, 7\\n %141 = add i64 %82, 176\\n %142 = getelementptr inbounds float, float* %7, i64 %141\\n %143 = bitcast float* %142 to i32*\\n %144 = load i32, i32* %143, align 4, !tbaa !1514\\n %145 = getelementptr inbounds float, float* %4, i64 %140\\n %146 = bitcast float* %145 to i32*\\n store i32 %144, i32* %146, align 4, !tbaa !1517\\n %147 = add nsw i64 %24, 2\\n %148 = trunc i64 %147 to i32\\n %149 = shl i32 %148, 3\\n %150 = sext i32 %149 to i64\\n %151 = getelementptr inbounds float, float* %7, i64 %147\\n %152 = bitcast float* %151 to i32*\\n %153 = load i32, i32* %152, align 4, !tbaa !1514\\n %154 = getelementptr inbounds float, float* %4, i64 %150\\n %155 = bitcast float* %154 to i32*\\n store i32 %153, i32* %155, align 4, !tbaa !1517\\n %156 = or i64 %150, 1\\n %157 = add i64 %34, 27\\n %158 = getelementptr inbounds float, float* %7, i64 %157\\n %159 = bitcast float* %158 to i32*\\n %160 = load i32, i32* %159, align 4, !tbaa !1514\\n %161 = getelementptr inbounds float, float* %4, i64 %156\\n %162 = bitcast float* %161 to i32*\\n store i32 %160, i32* %162, align 4, !tbaa !1517\\n %163 = or i64 %150, 2\\n %164 = add i64 %42, 52\\n %165 = getelementptr inbounds float, float* %7, i64 %164\\n %166 = bitcast float* %165 to i32*\\n %167 = load i32, i32* %166, align 4, !tbaa !1514\\n %168 = getelementptr inbounds float, float* %4, i64 %163\\n %169 = bitcast float* %168 to i32*\\n store i32 %167, i32* %169, align 4, !tbaa !1517\\n %170 = or i64 %150, 3\\n %171 = add i64 %50, 77\\n %172 = getelementptr inbounds float, float* %7, i64 %171\\n %173 = bitcast float* %172 to i32*\\n %174 = load i32, i32* %173, align 4, !tbaa !1514\\n %175 = getelementptr inbounds float, float* %4, i64 %170\\n %176 = bitcast float* %175 to i32*\\n store i32 %174, i32* %176, align 4, !tbaa !1517\\n %177 = or i64 %150, 4\\n %178 = add i64 %58, 102\\n %179 = getelementptr inbounds float, float* %7, i64 %178\\n %180 = bitcast float* %179 to i32*\\n %181 = load i32, i32* %180, align 4, !tbaa !1514\\n %182 = getelementptr inbounds float, float* %4, i64 %177\\n %183 = bitcast float* %182 to i32*\\n store i32 %181, i32* %183, align 4, !tbaa !1517\\n %184 = or i64 %150, 5\\n %185 = add i64 %66, 127\\n %186 = getelementptr inbounds float, float* %7, i64 %185\\n %187 = bitcast float* %186 to i32*\\n %188 = load i32, i32* %187, align 4, !tbaa !1514\\n %189 = getelementptr inbounds float, float* %4, i64 %184\\n %190 = bitcast float* %189 to i32*\\n store i32 %188, i32* %190, align 4, !tbaa !1517\\n %191 = or i64 %150, 6\\n %192 = add i64 %74, 152\\n %193 = getelementptr inbounds float, float* %7, i64 %192\\n %194 = bitcast float* %193 to i32*\\n %195 = load i32, i32* %194, align 4, !tbaa !1514\\n %196 = getelementptr inbounds float, float* %4, i64 %191\\n %197 = bitcast float* %196 to i32*\\n store i32 %195, i32* %197, align 4, !tbaa !1517\\n %198 = or i64 %150, 7\\n %199 = add i64 %82, 177\\n %200 = getelementptr inbounds float, float* %7, i64 %199\\n %201 = bitcast float* %200 to i32*\\n %202 = load i32, i32* %201, align 4, !tbaa !1514\\n %203 = getelementptr inbounds float, float* %4, i64 %198\\n %204 = bitcast float* %203 to i32*\\n store i32 %202, i32* %204, align 4, !tbaa !1517\\n %205 = add nsw i64 %24, 3\\n %206 = trunc i64 %205 to i32\\n %207 = shl i32 %206, 3\\n %208 = sext i32 %207 to i64\\n %209 = getelementptr inbounds float, float* %7, i64 %205\\n %210 = bitcast float* %209 to i32*\\n %211 = load i32, i32* %210, align 4, !tbaa !1514\\n %212 = getelementptr inbounds float, float* %4, i64 %208\\n %213 = bitcast float* %212 to i32*\\n store i32 %211, i32* %213, align 4, !tbaa !1517\\n %214 = or i64 %208, 1\\n %215 = add i64 %34, 28\\n %216 = getelementptr inbounds float, float* %7, i64 %215\\n %217 = bitcast float* %216 to i32*\\n %218 = load i32, i32* %217, align 4, !tbaa !1514\\n %219 = getelementptr inbounds float, float* %4, i64 %214\\n %220 = bitcast float* %219 to i32*\\n store i32 %218, i32* %220, align 4, !tbaa !1517\\n %221 = or i64 %208, 2\\n %222 = add i64 %42, 53\\n %223 = getelementptr inbounds float, float* %7, i64 %222\\n %224 = bitcast float* %223 to i32*\\n %225 = load i32, i32* %224, align 4, !tbaa !1514\\n %226 = getelementptr inbounds float, float* %4, i64 %221\\n %227 = bitcast float* %226 to i32*\\n store i32 %225, i32* %227, align 4, !tbaa !1517\\n %228 = or i64 %208, 3\\n %229 = add i64 %50, 78\\n %230 = getelementptr inbounds float, float* %7, i64 %229\\n %231 = bitcast float* %230 to i32*\\n %232 = load i32, i32* %231, align 4, !tbaa !1514\\n %233 = getelementptr inbounds float, float* %4, i64 %228\\n %234 = bitcast float* %233 to i32*\\n store i32 %232, i32* %234, align 4, !tbaa !1517\\n %235 = or i64 %208, 4\\n %236 = add i64 %58, 103\\n %237 = getelementptr inbounds float, float* %7, i64 %236\\n %238 = bitcast float* %237 to i32*\\n %239 = load i32, i32* %238, align 4, !tbaa !1514\\n %240 = getelementptr inbounds float, float* %4, i64 %235\\n %241 = bitcast float* %240 to i32*\\n store i32 %239, i32* %241, align 4, !tbaa !1517\\n %242 = or i64 %208, 5\\n %243 = add i64 %66, 128\\n %244 = getelementptr inbounds float, float* %7, i64 %243\\n %245 = bitcast float* %244 to i32*\\n %246 = load i32, i32* %245, align 4, !tbaa !1514\\n %247 = getelementptr inbounds float, float* %4, i64 %242\\n %248 = bitcast float* %247 to i32*\\n store i32 %246, i32* %248, align 4, !tbaa !1517\\n %249 = or i64 %208, 6\\n %250 = add i64 %74, 153\\n %251 = getelementptr inbounds float, float* %7, i64 %250\\n %252 = bitcast float* %251 to i32*\\n %253 = load i32, i32* %252, align 4, !tbaa !1514\\n %254 = getelementptr inbounds float, float* %4, i64 %249\\n %255 = bitcast float* %254 to i32*\\n store i32 %253, i32* %255, align 4, !tbaa !1517\\n %256 = or i64 %208, 7\\n %257 = add i64 %82, 178\\n %258 = getelementptr inbounds float, float* %7, i64 %257\\n %259 = bitcast float* %258 to i32*\\n %260 = load i32, i32* %259, align 4, !tbaa !1514\\n %261 = getelementptr inbounds float, float* %4, i64 %256\\n %262 = bitcast float* %261 to i32*\\n store i32 %260, i32* %262, align 4, !tbaa !1517\\n %263 = add nsw i64 %24, 4\\n %264 = trunc i64 %263 to i32\\n %265 = shl i32 %264, 3\\n %266 = sext i32 %265 to i64\\n %267 = getelementptr inbounds float, float* %7, i64 %263\\n %268 = bitcast float* %267 to i32*\\n %269 = load i32, i32* %268, align 4, !tbaa !1514\\n %270 = getelementptr inbounds float, float* %4, i64 %266\\n %271 = bitcast float* %270 to i32*\\n store i32 %269, i32* %271, align 4, !tbaa !1517\\n %272 = or i64 %266, 1\\n %273 = add i64 %34, 29\\n %274 = getelementptr inbounds float, float* %7, i64 %273\\n %275 = bitcast float* %274 to i32*\\n %276 = load i32, i32* %275, align 4, !tbaa !1514\\n %277 = getelementptr inbounds float, float* %4, i64 %272\\n %278 = bitcast float* %277 to i32*\\n store i32 %276, i32* %278, align 4, !tbaa !1517\\n %279 = or i64 %266, 2\\n %280 = add i64 %42, 54\\n %281 = getelementptr inbounds float, float* %7, i64 %280\\n %282 = bitcast float* %281 to i32*\\n %283 = load i32, i32* %282, align 4, !tbaa !1514\\n %284 = getelementptr inbounds float, float* %4, i64 %279\\n %285 = bitcast float* %284 to i32*\\n store i32 %283, i32* %285, align 4, !tbaa !1517\\n %286 = or i64 %266, 3\\n %287 = add i64 %50, 79\\n %288 = getelementptr inbounds float, float* %7, i64 %287\\n %289 = bitcast float* %288 to i32*\\n %290 = load i32, i32* %289, align 4, !tbaa !1514\\n %291 = getelementptr inbounds float, float* %4, i64 %286\\n %292 = bitcast float* %291 to i32*\\n store i32 %290, i32* %292, align 4, !tbaa !1517\\n %293 = or i64 %266, 4\\n %294 = add i64 %58, 104\\n %295 = getelementptr inbounds float, float* %7, i64 %294\\n %296 = bitcast float* %295 to i32*\\n %297 = load i32, i32* %296, align 4, !tbaa !1514\\n %298 = getelementptr inbounds float, float* %4, i64 %293\\n %299 = bitcast float* %298 to i32*\\n store i32 %297, i32* %299, align 4, !tbaa !1517\\n %300 = or i64 %266, 5\\n %301 = add i64 %66, 129\\n %302 = getelementptr inbounds float, float* %7, i64 %301\\n %303 = bitcast float* %302 to i32*\\n %304 = load i32, i32* %303, align 4, !tbaa !1514\\n %305 = getelementptr inbounds float, float* %4, i64 %300\\n %306 = bitcast float* %305 to i32*\\n store i32 %304, i32* %306, align 4, !tbaa !1517\\n %307 = or i64 %266, 6\\n %308 = add i64 %74, 154\\n %309 = getelementptr inbounds float, float* %7, i64 %308\\n %310 = bitcast float* %309 to i32*\\n %311 = load i32, i32* %310, align 4, !tbaa !1514\\n %312 = getelementptr inbounds float, float* %4, i64 %307\\n %313 = bitcast float* %312 to i32*\\n store i32 %311, i32* %313, align 4, !tbaa !1517\\n %314 = or i64 %266, 7\\n %315 = add i64 %82, 179\\n %316 = getelementptr inbounds float, float* %7, i64 %315\\n %317 = bitcast float* %316 to i32*\\n %318 = load i32, i32* %317, align 4, !tbaa !1514\\n %319 = getelementptr inbounds float, float* %4, i64 %314\\n %320 = bitcast float* %319 to i32*\\n store i32 %318, i32* %320, align 4, !tbaa !1517\\n %indvars.iv.next = add nsw i64 %indvars.iv, 1\\n %321 = icmp slt i64 %indvars.iv.next, %23\\n br i1 %321, label %for_body, label %for_end, !prof !1\\n\\nfor_end: ; preds = %for_body, %entry\\n ret i32 0\\n}\\n\\ndefine dllexport i32 @fused_nn_max_pool2d_1(i8* noalias nocapture readonly, i8* noalias nocapture readonly, i32) local_unnamed_addr {\\nentry:\\n %3 = icmp eq i32 %2, 2\\n br i1 %3, label %assert_end, label %assert_fail, !prof !1\\n\\nassert_fail: ; preds = %entry\\n %4 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %4(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.150, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end: ; preds = %entry\\n %5 = bitcast i8* %0 to %1**\\n %6 = load %1*, %1** %5, align 8\\n %7 = bitcast i8* %1 to i32*\\n %8 = load i32, i32* %7, align 4, !tbaa !1520\\n %9 = getelementptr inbounds i8, i8* %0, i64 8\\n %10 = bitcast i8* %9 to %1**\\n %11 = load %1*, %1** %10, align 8\\n %12 = getelementptr inbounds i8, i8* %1, i64 4\\n %13 = bitcast i8* %12 to i32*\\n %14 = load i32, i32* %13, align 4, !tbaa !1534\\n %15 = getelementptr inbounds %1, %1* %6, i64 0, i32 0\\n %16 = load i8*, i8** %15, align 8\\n %17 = getelementptr inbounds %1, %1* %6, i64 0, i32 4\\n %18 = load i64*, i64** %17, align 8\\n %19 = getelementptr inbounds %1, %1* %6, i64 0, i32 5\\n %20 = load i64*, i64** %19, align 8\\n %21 = icmp eq i64* %20, null\\n br i1 %21, label %if_end, label %if_then, !prof !21\\n\\nif_then: ; preds = %assert_end\\n %22 = load i64, i64* %20, align 8, !tbaa !1536\\n %23 = trunc i64 %22 to i32\\n %24 = icmp eq i32 %23, 4608\\n %25 = getelementptr inbounds i64, i64* %20, i64 1\\n %26 = load i64, i64* %25, align 8, !tbaa !1550\\n %27 = trunc i64 %26 to i32\\n %28 = icmp eq i32 %27, 4608\\n %29 = getelementptr inbounds i64, i64* %20, i64 2\\n %30 = load i64, i64* %29, align 8, !tbaa !1552\\n %31 = trunc i64 %30 to i32\\n %32 = icmp eq i32 %31, 192\\n %33 = getelementptr inbounds i64, i64* %20, i64 3\\n %34 = load i64, i64* %33, align 8, !tbaa !1555\\n %35 = trunc i64 %34 to i32\\n %36 = icmp eq i32 %35, 8\\n %37 = getelementptr inbounds i64, i64* %20, i64 4\\n %38 = load i64, i64* %37, align 8, !tbaa !1557\\n %39 = trunc i64 %38 to i32\\n %40 = icmp eq i32 %39, 1\\n %41 = and i1 %36, %40\\n %42 = and i1 %32, %41\\n %43 = and i1 %28, %42\\n %44 = and i1 %24, %43\\n br i1 %44, label %if_end, label %assert_fail1, !prof !1\\n\\nif_end: ; preds = %assert_end, %if_then\\n %45 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 0\\n %46 = load i32, i32* %45, align 4\\n %47 = getelementptr inbounds %1, %1* %6, i64 0, i32 1, i32 1\\n %48 = load i32, i32* %47, align 4\\n %49 = getelementptr inbounds %1, %1* %11, i64 0, i32 0\\n %50 = load i8*, i8** %49, align 8\\n %51 = getelementptr inbounds %1, %1* %11, i64 0, i32 4\\n %52 = load i64*, i64** %51, align 8\\n %53 = getelementptr inbounds %1, %1* %11, i64 0, i32 5\\n %54 = load i64*, i64** %53, align 8\\n %55 = icmp eq i64* %54, null\\n br i1 %55, label %if_end4, label %if_then3, !prof !21\\n\\nassert_fail1: ; preds = %if_then\\n %56 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %56(i8* getelementptr inbounds ([235 x i8], [235 x i8]* @.str.151, i64 0, i64 0))\\n ret i32 -1\\n\\nif_then3: ; preds = %if_end\\n %57 = load i64, i64* %54, align 8, !tbaa !1561\\n %58 = trunc i64 %57 to i32\\n %59 = icmp eq i32 %58, 1152\\n %60 = getelementptr inbounds i64, i64* %54, i64 1\\n %61 = load i64, i64* %60, align 8, !tbaa !1575\\n %62 = trunc i64 %61 to i32\\n %63 = icmp eq i32 %62, 1152\\n %64 = getelementptr inbounds i64, i64* %54, i64 2\\n %65 = load i64, i64* %64, align 8, !tbaa !1577\\n %66 = trunc i64 %65 to i32\\n %67 = icmp eq i32 %66, 96\\n %68 = getelementptr inbounds i64, i64* %54, i64 3\\n %69 = load i64, i64* %68, align 8, !tbaa !1580\\n %70 = trunc i64 %69 to i32\\n %71 = icmp eq i32 %70, 8\\n %72 = getelementptr inbounds i64, i64* %54, i64 4\\n %73 = load i64, i64* %72, align 8, !tbaa !1582\\n %74 = trunc i64 %73 to i32\\n %75 = icmp eq i32 %74, 1\\n %76 = and i1 %71, %75\\n %77 = and i1 %67, %76\\n %78 = and i1 %63, %77\\n %79 = and i1 %59, %78\\n br i1 %79, label %if_end4, label %assert_fail5, !prof !1\\n\\nif_end4: ; preds = %if_end, %if_then3\\n switch i32 %8, label %assert_fail7 [\\n i32 13, label %assert_end8\\n i32 7, label %assert_end8\\n i32 4, label %assert_end8\\n i32 3, label %assert_end8\\n ]\\n\\nassert_fail5: ; preds = %if_then3\\n %80 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %80(i8* getelementptr inbounds ([234 x i8], [234 x i8]* @.str.152, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_fail7: ; preds = %if_end4\\n %81 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %81(i8* getelementptr inbounds ([149 x i8], [149 x i8]* @.str.153, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end8: ; preds = %if_end4, %if_end4, %if_end4, %if_end4\\n switch i32 %14, label %assert_fail9 [\\n i32 13, label %assert_end10\\n i32 7, label %assert_end10\\n i32 4, label %assert_end10\\n i32 3, label %assert_end10\\n ]\\n\\nassert_fail9: ; preds = %assert_end8\\n %82 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %82(i8* getelementptr inbounds ([149 x i8], [149 x i8]* @.str.154, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end10: ; preds = %assert_end8, %assert_end8, %assert_end8, %assert_end8\\n %83 = icmp eq i32 %46, 1\\n br i1 %83, label %assert_end12, label %assert_fail11, !prof !1\\n\\nassert_fail11: ; preds = %assert_end10\\n %84 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %84(i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.5, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end12: ; preds = %assert_end10\\n %85 = getelementptr inbounds %1, %1* %6, i64 0, i32 2\\n %86 = load i32, i32* %85, align 4\\n %87 = icmp eq i32 %86, 5\\n br i1 %87, label %assert_end14, label %assert_fail13, !prof !1\\n\\nassert_fail13: ; preds = %assert_end12\\n %88 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %88(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.66, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end14: ; preds = %assert_end12\\n %89 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 2\\n %90 = load i16, i16* %89, align 2\\n %91 = icmp eq i16 %90, 1\\n %92 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 1\\n %93 = load i8, i8* %92, align 1\\n %94 = icmp eq i8 %93, 32\\n %95 = getelementptr inbounds %1, %1* %6, i64 0, i32 3, i32 0\\n %96 = load i8, i8* %95, align 1\\n %97 = icmp eq i8 %96, 2\\n %98 = and i1 %94, %97\\n %99 = and i1 %91, %98\\n br i1 %99, label %assert_end16, label %assert_fail15, !prof !1\\n\\nassert_fail15: ; preds = %assert_end14\\n %100 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %100(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.7, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end16: ; preds = %assert_end14\\n %101 = load i64, i64* %18, align 8, !tbaa !1586\\n %102 = trunc i64 %101 to i32\\n %103 = icmp eq i32 %102, 1\\n br i1 %103, label %assert_end18, label %assert_fail17, !prof !1\\n\\nassert_fail17: ; preds = %assert_end16\\n %104 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %104(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.54, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end18: ; preds = %assert_end16\\n %105 = getelementptr inbounds i64, i64* %18, i64 1\\n %106 = load i64, i64* %105, align 8, !tbaa !1600\\n %107 = trunc i64 %106 to i32\\n %108 = icmp eq i32 %107, 1\\n br i1 %108, label %assert_end20, label %assert_fail19, !prof !1\\n\\nassert_fail19: ; preds = %assert_end18\\n %109 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %109(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.43, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end20: ; preds = %assert_end18\\n %110 = getelementptr inbounds i64, i64* %18, i64 2\\n %111 = load i64, i64* %110, align 8, !tbaa !1602\\n %112 = trunc i64 %111 to i32\\n %113 = icmp eq i32 %112, 24\\n br i1 %113, label %assert_end22, label %assert_fail21, !prof !1\\n\\nassert_fail21: ; preds = %assert_end20\\n %114 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %114(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.155, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end22: ; preds = %assert_end20\\n %115 = getelementptr inbounds i64, i64* %18, i64 3\\n %116 = load i64, i64* %115, align 8, !tbaa !1605\\n %117 = trunc i64 %116 to i32\\n %118 = icmp eq i32 %117, 24\\n br i1 %118, label %assert_end24, label %assert_fail23, !prof !1\\n\\nassert_fail23: ; preds = %assert_end22\\n %119 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %119(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.156, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end24: ; preds = %assert_end22\\n %120 = getelementptr inbounds i64, i64* %18, i64 4\\n %121 = load i64, i64* %120, align 8, !tbaa !1607\\n %122 = trunc i64 %121 to i32\\n %123 = icmp eq i32 %122, 8\\n br i1 %123, label %assert_end26, label %assert_fail25, !prof !1\\n\\nassert_fail25: ; preds = %assert_end24\\n %124 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %124(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.70, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end26: ; preds = %assert_end24\\n %125 = getelementptr inbounds %1, %1* %6, i64 0, i32 6\\n %126 = load i64, i64* %125, align 8\\n %127 = icmp eq i64 %126, 0\\n br i1 %127, label %assert_end28, label %assert_fail27, !prof !1\\n\\nassert_fail27: ; preds = %assert_end26\\n %128 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %128(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.12, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end28: ; preds = %assert_end26\\n %129 = getelementptr inbounds %1, %1* %11, i64 0, i32 2\\n %130 = load i32, i32* %129, align 4\\n %131 = icmp eq i32 %130, 5\\n br i1 %131, label %assert_end30, label %assert_fail29, !prof !1\\n\\nassert_fail29: ; preds = %assert_end28\\n %132 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %132(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.57, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end30: ; preds = %assert_end28\\n %133 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 2\\n %134 = load i16, i16* %133, align 2\\n %135 = icmp eq i16 %134, 1\\n %136 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 1\\n %137 = load i8, i8* %136, align 1\\n %138 = icmp eq i8 %137, 32\\n %139 = getelementptr inbounds %1, %1* %11, i64 0, i32 3, i32 0\\n %140 = load i8, i8* %139, align 1\\n %141 = icmp eq i8 %140, 2\\n %142 = and i1 %138, %141\\n %143 = and i1 %135, %142\\n br i1 %143, label %assert_end32, label %assert_fail31, !prof !1\\n\\nassert_fail31: ; preds = %assert_end30\\n %144 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %144(i8* getelementptr inbounds ([186 x i8], [186 x i8]* @.str.14, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end32: ; preds = %assert_end30\\n %145 = load i64, i64* %52, align 8, !tbaa !1611\\n %146 = trunc i64 %145 to i32\\n %147 = icmp eq i32 %146, 1\\n br i1 %147, label %assert_end34, label %assert_fail33, !prof !1\\n\\nassert_fail33: ; preds = %assert_end32\\n %148 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %148(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.46, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end34: ; preds = %assert_end32\\n %149 = getelementptr inbounds i64, i64* %52, i64 1\\n %150 = load i64, i64* %149, align 8, !tbaa !1625\\n %151 = trunc i64 %150 to i32\\n %152 = icmp eq i32 %151, 1\\n br i1 %152, label %assert_end36, label %assert_fail35, !prof !1\\n\\nassert_fail35: ; preds = %assert_end34\\n %153 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %153(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.30, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end36: ; preds = %assert_end34\\n %154 = getelementptr inbounds i64, i64* %52, i64 2\\n %155 = load i64, i64* %154, align 8, !tbaa !1627\\n %156 = trunc i64 %155 to i32\\n %157 = icmp eq i32 %156, 12\\n br i1 %157, label %assert_end38, label %assert_fail37, !prof !1\\n\\nassert_fail37: ; preds = %assert_end36\\n %158 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %158(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.157, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end38: ; preds = %assert_end36\\n %159 = getelementptr inbounds i64, i64* %52, i64 3\\n %160 = load i64, i64* %159, align 8, !tbaa !1630\\n %161 = trunc i64 %160 to i32\\n %162 = icmp eq i32 %161, 12\\n br i1 %162, label %assert_end40, label %assert_fail39, !prof !1\\n\\nassert_fail39: ; preds = %assert_end38\\n %163 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %163(i8* getelementptr inbounds ([96 x i8], [96 x i8]* @.str.158, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end40: ; preds = %assert_end38\\n %164 = getelementptr inbounds i64, i64* %52, i64 4\\n %165 = load i64, i64* %164, align 8, !tbaa !1632\\n %166 = trunc i64 %165 to i32\\n %167 = icmp eq i32 %166, 8\\n br i1 %167, label %assert_end42, label %assert_fail41, !prof !1\\n\\nassert_fail41: ; preds = %assert_end40\\n %168 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %168(i8* getelementptr inbounds ([95 x i8], [95 x i8]* @.str.33, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end42: ; preds = %assert_end40\\n %169 = getelementptr inbounds %1, %1* %11, i64 0, i32 6\\n %170 = load i64, i64* %169, align 8\\n %171 = icmp eq i64 %170, 0\\n br i1 %171, label %assert_end44, label %assert_fail43, !prof !1\\n\\nassert_fail43: ; preds = %assert_end42\\n %172 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %172(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.17, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end44: ; preds = %assert_end42\\n %173 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 0\\n %174 = load i32, i32* %173, align 4\\n %175 = icmp eq i32 %174, 1\\n br i1 %175, label %assert_end46, label %assert_fail45, !prof !1\\n\\nassert_fail45: ; preds = %assert_end44\\n %176 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %176(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.18, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end46: ; preds = %assert_end44\\n %177 = getelementptr inbounds %1, %1* %11, i64 0, i32 1, i32 1\\n %178 = load i32, i32* %177, align 4\\n %179 = icmp eq i32 %48, %178\\n br i1 %179, label %assert_end48, label %assert_fail47, !prof !1\\n\\nassert_fail47: ; preds = %assert_end46\\n %180 = load void (i8*)*, void (i8*)** @__TVMAPISetLastError, align 8, !tbaa !2\\n tail call void %180(i8* getelementptr inbounds ([107 x i8], [107 x i8]* @.str.19, i64 0, i64 0))\\n ret i32 -1\\n\\nassert_end48: ; preds = %assert_end46\\n %181 = tail call fastcc i32 @fused_nn_max_pool2d_1_compute_(i8* %50, i8* %16)\\n ret i32 %181\\n}\\n\\n; Function Attrs: noinline\\ndefine private fastcc i32 @fused_nn_max_pool2d_1_compute_(i8* noalias, i8* noalias) unnamed_addr #0 {\\nentry:\\n %2 = alloca %13, align 8\\n %3 = getelementptr inbounds %13, %13* %2, i64 0, i32 0\\n store i8* %0, i8** %3, align 8\\n %4 = getelementptr inbounds %13, %13* %2, i64 0, i32 1\\n store i8* %1, i8** %4, align 8\\n %5 = bitcast %13* %2 to i8*\\n %6 = load i32 (i32 (i32, %0*, i8*)*, i8*, i32)*, i32 (i32 (i32, %0*, i8*)*, i8*, i32)** @__TVMBackendParallelLaunch, align 8, !tbaa !2\\n %7 = call i32 %6(i32 (i32, %0*, i8*)* nonnull @__tvm_parallel_lambda.159, i8* nonnull %5, i32 0)\\n ret i32 %7\\n}\\n\\n; Function Attrs: norecurse nounwind\\ndefine private i32 @__tvm_parallel_lambda.159(i32, %0* nocapture readonly, i8* nocapture readonly) #1 {\\nentry:\\n %3 = bitcast i8* %2 to float**\\n %4 = load float*, float** %3, align 8\\n %5 = getelementptr inbounds i8, i8* %2, i64 8\\n %6 = bitcast i8* %5 to float**\\n %7 = load float*, float** %6, align 8\\n %8 = getelementptr inbounds %0, %0* %1, i64 0, i32 1\\n %9 = load i32, i32* %8, align 4\\n %10 = add nsw i32 %9, 11\\n %11 = sdiv i32 %10, %9\\n %12 = add nsw i32 %0, 1\\n %13 = mul nsw i32 %11, %12\\n %14 = icmp slt i32 %13, 12\\n %15 = select i1 %14, i32 %13, i32 12\\n %16 = mul nsw i32 %11, %0\\n %17 = icmp slt i32 %16, 12\\n %18 = select i1 %17, i32 %16, i32 12\\n %19 = icmp slt i32 %18, %15\\n br i1 %19, label %for_body.lr.ph, label %for_end, !prof !1\\n\\nfor_body.lr.ph: ; preds = %entry\\n %20 = add i32 %18, 1\\n %21 = sext i32 %20 to i64\\n %22 = add nsw i64 %21, -1\\n %23 = sext i32 %15 to i64\\n br label %for_body\\n\\nfor_body: ; preds = %for_body.lr.ph, %for_end3\\n %indvars.iv7 = phi i64 [ %22, %for_body.lr.ph ], [ %indvars.iv.next8, %for_end3 ]\\n %24 = trunc i64 %indvars.iv7 to i32\\n %25 = shl i32 %24, 1\\n %sext = mul i64 %indvars.iv7, 103079215104\\n %26 = lshr exact i64 %sext, 32\\n %27 = trunc i64 %indvars.iv7 to i32\\n %28 = mul i32 %27, 12\\n %29 = or i32 %25, 1\\n %30 = mul nsw i32 %29, 12\\n br label %for_body2\\n\\nfor_end: ; preds = %for_end3, %entry\\n ret i32 0\\n\\nfor_body2: ; preds = %for_body2, %for_body\\n %indvars.iv = phi i64 [ 0, %for_body ], [ %indvars.iv.next, %for_body2 ]\\n %31 = phi i32 [ 0, %for_body ], [ %71, %for_body2 ]\\n %32 = add nsw i32 %31, %28\\n %33 = shl nsw i32 %32, 3\\n %34 = sext i32 %33 to i64\\n %35 = getelementptr inbounds float, float* %4, i64 %34\\n %36 = bitcast float* %35 to <8 x float>*\\n %37 = add nuw i64 %26, %indvars.iv\\n %38 = trunc i64 %37 to i32\\n %39 = shl i32 %38, 4\\n %40 = shl i32 %38, 4\\n %41 = sext i32 %40 to i64\\n %42 = getelementptr inbounds float, float* %7, i64 %41\\n %43 = bitcast float* %42 to <8 x float>*\\n %44 = load <8 x float>, <8 x float>* %43, align 32, !tbaa !1636\\n %45 = fcmp olt <8 x float> %44, \\n %46 = select <8 x i1> %45, <8 x float> , <8 x float> %44\\n %47 = or i32 %39, 8\\n %48 = sext i32 %47 to i64\\n %49 = getelementptr inbounds float, float* %7, i64 %48\\n %50 = bitcast float* %49 to <8 x float>*\\n %51 = load <8 x float>, <8 x float>* %50, align 32, !tbaa !1636\\n %52 = fcmp ogt <8 x float> %46, %51\\n %53 = select <8 x i1> %52, <8 x float> %46, <8 x float> %51\\n %54 = trunc i64 %indvars.iv to i32\\n %55 = add i32 %30, %54\\n %56 = shl i32 %55, 4\\n %57 = shl i32 %55, 4\\n %58 = sext i32 %57 to i64\\n %59 = getelementptr inbounds float, float* %7, i64 %58\\n %60 = bitcast float* %59 to <8 x float>*\\n %61 = load <8 x float>, <8 x float>* %60, align 32, !tbaa !1636\\n %62 = fcmp ogt <8 x float> %53, %61\\n %63 = select <8 x i1> %62, <8 x float> %53, <8 x float> %61\\n %64 = or i32 %56, 8\\n %65 = sext i32 %64 to i64\\n %66 = getelementptr inbounds float, float* %7, i64 %65\\n %67 = bitcast float* %66 to <8 x float>*\\n %68 = load <8 x float>, <8 x float>* %67, align 32, !tbaa !1636\\n %69 = fcmp ogt <8 x float> %63, %68\\n %70 = select <8 x i1> %69, <8 x float> %63, <8 x float> %68\\n store <8 x float> %70, <8 x float>* %36, align 32, !tbaa !1639\\n %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1\\n %71 = add nuw nsw i32 %31, 1\\n %exitcond = icmp eq i64 %indvars.iv.next, 12\\n br i1 %exitcond, label %for_end3, label %for_body2, !prof !21\\n\\nfor_end3: ; preds = %for_body2\\n %indvars.iv.next8 = add nsw i64 %indvars.iv7, 1\\n %72 = icmp slt i64 %indvars.iv.next8, %23\\n br i1 %72, label %for_body, label %for_end, !prof !1\\n}\\n\\n; Function Attrs: argmemonly nounwind\\ndeclare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #5\\n\\n; Function Attrs: argmemonly nounwind\\ndeclare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i32, i1) #5\\n\\nattributes #0 = { noinline }\\nattributes #1 = { norecurse nounwind }\\nattributes #2 = { noinline norecurse nounwind }\\nattributes #3 = { nounwind }\\nattributes #4 = { nounwind readnone speculatable }\\nattributes #5 = { argmemonly nounwind }\\n\\n!llvm.module.flags = !{!0}\\n\\n!0 = !{i32 2, !\"tvm_target\", !\"llvm\"}\\n!1 = !{!\"branch_weights\", i32 1048576, i32 1}\\n!2 = !{!3, !3, i64 0}\\n!3 = !{!\"ctx_ptr\", !4, i64 0}\\n!4 = !{!\"tvm-tbaa\"}\\n!5 = !{!6, !6, i64 0}\\n!6 = !{!\"0x54629e0.w1.b0\", !7, i64 0}\\n!7 = !{!\"0x54629e0.w2.b0\", !8, i64 0}\\n!8 = !{!\"0x54629e0.w4.b0\", !9, i64 0}\\n!9 = !{!\"0x54629e0.w8.b0\", !10, i64 0}\\n!10 = !{!\"0x54629e0.w16.b0\", !11, i64 0}\\n!11 = !{!\"0x54629e0.w32.b0\", !12, i64 0}\\n!12 = !{!\"0x54629e0.w64.b0\", !13, i64 0}\\n!13 = !{!\"0x54629e0.w128.b0\", !14, i64 0}\\n!14 = !{!\"0x54629e0.w256.b0\", !15, i64 0}\\n!15 = !{!\"0x54629e0.w512.b0\", !16, i64 0}\\n!16 = !{!\"0x54629e0.w1024.b0\", !17, i64 0}\\n!17 = !{!\"int32\", !18, i64 0}\\n!18 = !{!\"0x54629e0\", !4, i64 0}\\n!19 = !{!20, !20, i64 0}\\n!20 = !{!\"0x54629e0.w1.b1\", !7, i64 0}\\n!21 = !{!\"branch_weights\", i32 1, i32 1048576}\\n!22 = !{!23, !23, i64 0}\\n!23 = !{!\"0x5463890.w1.b0\", !24, i64 0}\\n!24 = !{!\"0x5463890.w2.b0\", !25, i64 0}\\n!25 = !{!\"0x5463890.w4.b0\", !26, i64 0}\\n!26 = !{!\"0x5463890.w8.b0\", !27, i64 0}\\n!27 = !{!\"0x5463890.w16.b0\", !28, i64 0}\\n!28 = !{!\"0x5463890.w32.b0\", !29, i64 0}\\n!29 = !{!\"0x5463890.w64.b0\", !30, i64 0}\\n!30 = !{!\"0x5463890.w128.b0\", !31, i64 0}\\n!31 = !{!\"0x5463890.w256.b0\", !32, i64 0}\\n!32 = !{!\"0x5463890.w512.b0\", !33, i64 0}\\n!33 = !{!\"0x5463890.w1024.b0\", !34, i64 0}\\n!34 = !{!\"int64\", !35, i64 0}\\n!35 = !{!\"0x5463890\", !4, i64 0}\\n!36 = !{!37, !37, i64 0}\\n!37 = !{!\"0x5463890.w1.b1\", !24, i64 0}\\n!38 = !{!39, !39, i64 0}\\n!39 = !{!\"0x5463890.w1.b2\", !40, i64 0}\\n!40 = !{!\"0x5463890.w2.b2\", !25, i64 0}\\n!41 = !{!42, !42, i64 0}\\n!42 = !{!\"0x5463890.w1.b3\", !40, i64 0}\\n!43 = !{!44, !44, i64 0}\\n!44 = !{!\"0x5423ed0.w1.b0\", !45, i64 0}\\n!45 = !{!\"0x5423ed0.w2.b0\", !46, i64 0}\\n!46 = !{!\"0x5423ed0.w4.b0\", !47, i64 0}\\n!47 = !{!\"0x5423ed0.w8.b0\", !48, i64 0}\\n!48 = !{!\"0x5423ed0.w16.b0\", !49, i64 0}\\n!49 = !{!\"0x5423ed0.w32.b0\", !50, i64 0}\\n!50 = !{!\"0x5423ed0.w64.b0\", !51, i64 0}\\n!51 = !{!\"0x5423ed0.w128.b0\", !52, i64 0}\\n!52 = !{!\"0x5423ed0.w256.b0\", !53, i64 0}\\n!53 = !{!\"0x5423ed0.w512.b0\", !54, i64 0}\\n!54 = !{!\"0x5423ed0.w1024.b0\", !55, i64 0}\\n!55 = !{!\"int64\", !56, i64 0}\\n!56 = !{!\"0x5423ed0\", !4, i64 0}\\n!57 = !{!58, !58, i64 0}\\n!58 = !{!\"0x5423ed0.w1.b1\", !45, i64 0}\\n!59 = !{!60, !60, i64 0}\\n!60 = !{!\"0x5462cb0.w1.b0\", !61, i64 0}\\n!61 = !{!\"0x5462cb0.w2.b0\", !62, i64 0}\\n!62 = !{!\"0x5462cb0.w4.b0\", !63, i64 0}\\n!63 = !{!\"0x5462cb0.w8.b0\", !64, i64 0}\\n!64 = !{!\"0x5462cb0.w16.b0\", !65, i64 0}\\n!65 = !{!\"0x5462cb0.w32.b0\", !66, i64 0}\\n!66 = !{!\"0x5462cb0.w64.b0\", !67, i64 0}\\n!67 = !{!\"0x5462cb0.w128.b0\", !68, i64 0}\\n!68 = !{!\"0x5462cb0.w256.b0\", !69, i64 0}\\n!69 = !{!\"0x5462cb0.w512.b0\", !70, i64 0}\\n!70 = !{!\"0x5462cb0.w1024.b0\", !71, i64 0}\\n!71 = !{!\"int64\", !72, i64 0}\\n!72 = !{!\"0x5462cb0\", !4, i64 0}\\n!73 = !{!74, !74, i64 0}\\n!74 = !{!\"0x5462cb0.w1.b1\", !61, i64 0}\\n!75 = !{!76, !76, i64 0}\\n!76 = !{!\"0x5462cb0.w1.b2\", !77, i64 0}\\n!77 = !{!\"0x5462cb0.w2.b2\", !62, i64 0}\\n!78 = !{!79, !79, i64 0}\\n!79 = !{!\"0x5462cb0.w1.b3\", !77, i64 0}\\n!80 = !{!81, !81, i64 0}\\n!81 = !{!\"0x53a61c0.w1.b0\", !82, i64 0}\\n!82 = !{!\"0x53a61c0.w2.b0\", !83, i64 0}\\n!83 = !{!\"0x53a61c0.w4.b0\", !84, i64 0}\\n!84 = !{!\"0x53a61c0.w8.b0\", !85, i64 0}\\n!85 = !{!\"0x53a61c0.w16.b0\", !86, i64 0}\\n!86 = !{!\"0x53a61c0.w32.b0\", !87, i64 0}\\n!87 = !{!\"0x53a61c0.w64.b0\", !88, i64 0}\\n!88 = !{!\"0x53a61c0.w128.b0\", !89, i64 0}\\n!89 = !{!\"0x53a61c0.w256.b0\", !90, i64 0}\\n!90 = !{!\"0x53a61c0.w512.b0\", !91, i64 0}\\n!91 = !{!\"0x53a61c0.w1024.b0\", !92, i64 0}\\n!92 = !{!\"int64\", !93, i64 0}\\n!93 = !{!\"0x53a61c0\", !4, i64 0}\\n!94 = !{!95, !95, i64 0}\\n!95 = !{!\"0x53a61c0.w1.b1\", !82, i64 0}\\n!96 = !{!97, !97, i64 0}\\n!97 = !{!\"float32\", !98, i64 0}\\n!98 = !{!\"0x4d5b270\", !4, i64 0}\\n!99 = !{!100, !100, i64 0}\\n!100 = !{!\"float32\", !101, i64 0}\\n!101 = !{!\"0x4d5ce40\", !4, i64 0}\\n!102 = !{!103, !103, i64 0}\\n!103 = !{!\"0x515de50.w1.b0\", !104, i64 0}\\n!104 = !{!\"0x515de50.w2.b0\", !105, i64 0}\\n!105 = !{!\"0x515de50.w4.b0\", !106, i64 0}\\n!106 = !{!\"0x515de50.w8.b0\", !107, i64 0}\\n!107 = !{!\"0x515de50.w16.b0\", !108, i64 0}\\n!108 = !{!\"0x515de50.w32.b0\", !109, i64 0}\\n!109 = !{!\"0x515de50.w64.b0\", !110, i64 0}\\n!110 = !{!\"0x515de50.w128.b0\", !111, i64 0}\\n!111 = !{!\"0x515de50.w256.b0\", !112, i64 0}\\n!112 = !{!\"0x515de50.w512.b0\", !113, i64 0}\\n!113 = !{!\"0x515de50.w1024.b0\", !114, i64 0}\\n!114 = !{!\"int32\", !115, i64 0}\\n!115 = !{!\"0x515de50\", !4, i64 0}\\n!116 = !{!117, !117, i64 0}\\n!117 = !{!\"0x515de50.w1.b1\", !104, i64 0}\\n!118 = !{!119, !119, i64 0}\\n!119 = !{!\"0x52968c0.w1.b0\", !120, i64 0}\\n!120 = !{!\"0x52968c0.w2.b0\", !121, i64 0}\\n!121 = !{!\"0x52968c0.w4.b0\", !122, i64 0}\\n!122 = !{!\"0x52968c0.w8.b0\", !123, i64 0}\\n!123 = !{!\"0x52968c0.w16.b0\", !124, i64 0}\\n!124 = !{!\"0x52968c0.w32.b0\", !125, i64 0}\\n!125 = !{!\"0x52968c0.w64.b0\", !126, i64 0}\\n!126 = !{!\"0x52968c0.w128.b0\", !127, i64 0}\\n!127 = !{!\"0x52968c0.w256.b0\", !128, i64 0}\\n!128 = !{!\"0x52968c0.w512.b0\", !129, i64 0}\\n!129 = !{!\"0x52968c0.w1024.b0\", !130, i64 0}\\n!130 = !{!\"int64\", !131, i64 0}\\n!131 = !{!\"0x52968c0\", !4, i64 0}\\n!132 = !{!133, !133, i64 0}\\n!133 = !{!\"0x52968c0.w1.b1\", !120, i64 0}\\n!134 = !{!135, !135, i64 0}\\n!135 = !{!\"0x52968c0.w1.b2\", !136, i64 0}\\n!136 = !{!\"0x52968c0.w2.b2\", !121, i64 0}\\n!137 = !{!138, !138, i64 0}\\n!138 = !{!\"0x52968c0.w1.b3\", !136, i64 0}\\n!139 = !{!140, !140, i64 0}\\n!140 = !{!\"0x5296dc0.w1.b0\", !141, i64 0}\\n!141 = !{!\"0x5296dc0.w2.b0\", !142, i64 0}\\n!142 = !{!\"0x5296dc0.w4.b0\", !143, i64 0}\\n!143 = !{!\"0x5296dc0.w8.b0\", !144, i64 0}\\n!144 = !{!\"0x5296dc0.w16.b0\", !145, i64 0}\\n!145 = !{!\"0x5296dc0.w32.b0\", !146, i64 0}\\n!146 = !{!\"0x5296dc0.w64.b0\", !147, i64 0}\\n!147 = !{!\"0x5296dc0.w128.b0\", !148, i64 0}\\n!148 = !{!\"0x5296dc0.w256.b0\", !149, i64 0}\\n!149 = !{!\"0x5296dc0.w512.b0\", !150, i64 0}\\n!150 = !{!\"0x5296dc0.w1024.b0\", !151, i64 0}\\n!151 = !{!\"int64\", !152, i64 0}\\n!152 = !{!\"0x5296dc0\", !4, i64 0}\\n!153 = !{!154, !154, i64 0}\\n!154 = !{!\"0x5296dc0.w1.b1\", !141, i64 0}\\n!155 = !{!156, !156, i64 0}\\n!156 = !{!\"0x5296dc0.w1.b2\", !157, i64 0}\\n!157 = !{!\"0x5296dc0.w2.b2\", !142, i64 0}\\n!158 = !{!159, !159, i64 0}\\n!159 = !{!\"0x5296dc0.w1.b3\", !157, i64 0}\\n!160 = !{!161, !161, i64 0}\\n!161 = !{!\"0x5296dc0.w1.b4\", !162, i64 0}\\n!162 = !{!\"0x5296dc0.w2.b4\", !163, i64 0}\\n!163 = !{!\"0x5296dc0.w4.b4\", !143, i64 0}\\n!164 = !{!165, !165, i64 0}\\n!165 = !{!\"0x5296dc0.w1.b5\", !162, i64 0}\\n!166 = !{!167, !167, i64 0}\\n!167 = !{!\"0x515dea0.w1.b0\", !168, i64 0}\\n!168 = !{!\"0x515dea0.w2.b0\", !169, i64 0}\\n!169 = !{!\"0x515dea0.w4.b0\", !170, i64 0}\\n!170 = !{!\"0x515dea0.w8.b0\", !171, i64 0}\\n!171 = !{!\"0x515dea0.w16.b0\", !172, i64 0}\\n!172 = !{!\"0x515dea0.w32.b0\", !173, i64 0}\\n!173 = !{!\"0x515dea0.w64.b0\", !174, i64 0}\\n!174 = !{!\"0x515dea0.w128.b0\", !175, i64 0}\\n!175 = !{!\"0x515dea0.w256.b0\", !176, i64 0}\\n!176 = !{!\"0x515dea0.w512.b0\", !177, i64 0}\\n!177 = !{!\"0x515dea0.w1024.b0\", !178, i64 0}\\n!178 = !{!\"int64\", !179, i64 0}\\n!179 = !{!\"0x515dea0\", !4, i64 0}\\n!180 = !{!181, !181, i64 0}\\n!181 = !{!\"0x515dea0.w1.b1\", !168, i64 0}\\n!182 = !{!183, !183, i64 0}\\n!183 = !{!\"0x515dea0.w1.b2\", !184, i64 0}\\n!184 = !{!\"0x515dea0.w2.b2\", !169, i64 0}\\n!185 = !{!186, !186, i64 0}\\n!186 = !{!\"0x515dea0.w1.b3\", !184, i64 0}\\n!187 = !{!188, !188, i64 0}\\n!188 = !{!\"0x5296b90.w1.b0\", !189, i64 0}\\n!189 = !{!\"0x5296b90.w2.b0\", !190, i64 0}\\n!190 = !{!\"0x5296b90.w4.b0\", !191, i64 0}\\n!191 = !{!\"0x5296b90.w8.b0\", !192, i64 0}\\n!192 = !{!\"0x5296b90.w16.b0\", !193, i64 0}\\n!193 = !{!\"0x5296b90.w32.b0\", !194, i64 0}\\n!194 = !{!\"0x5296b90.w64.b0\", !195, i64 0}\\n!195 = !{!\"0x5296b90.w128.b0\", !196, i64 0}\\n!196 = !{!\"0x5296b90.w256.b0\", !197, i64 0}\\n!197 = !{!\"0x5296b90.w512.b0\", !198, i64 0}\\n!198 = !{!\"0x5296b90.w1024.b0\", !199, i64 0}\\n!199 = !{!\"int64\", !200, i64 0}\\n!200 = !{!\"0x5296b90\", !4, i64 0}\\n!201 = !{!202, !202, i64 0}\\n!202 = !{!\"0x5296b90.w1.b1\", !189, i64 0}\\n!203 = !{!204, !204, i64 0}\\n!204 = !{!\"0x5296b90.w1.b2\", !205, i64 0}\\n!205 = !{!\"0x5296b90.w2.b2\", !190, i64 0}\\n!206 = !{!207, !207, i64 0}\\n!207 = !{!\"0x5296b90.w1.b3\", !205, i64 0}\\n!208 = !{!209, !209, i64 0}\\n!209 = !{!\"0x5296b90.w1.b4\", !210, i64 0}\\n!210 = !{!\"0x5296b90.w2.b4\", !211, i64 0}\\n!211 = !{!\"0x5296b90.w4.b4\", !191, i64 0}\\n!212 = !{!213, !213, i64 0}\\n!213 = !{!\"0x5296b90.w1.b5\", !210, i64 0}\\n!214 = !{!215, !215, i64 0}\\n!215 = !{!\"float32\", !216, i64 0}\\n!216 = !{!\"0x515d450\", !4, i64 0}\\n!217 = !{!218, !218, i64 0}\\n!218 = !{!\"float32\", !219, i64 0}\\n!219 = !{!\"0x5296460\", !4, i64 0}\\n!220 = !{!221, !221, i64 0}\\n!221 = !{!\"0x515cbe0.w1.b0\", !222, i64 0}\\n!222 = !{!\"0x515cbe0.w2.b0\", !223, i64 0}\\n!223 = !{!\"0x515cbe0.w4.b0\", !224, i64 0}\\n!224 = !{!\"0x515cbe0.w8.b0\", !225, i64 0}\\n!225 = !{!\"0x515cbe0.w16.b0\", !226, i64 0}\\n!226 = !{!\"0x515cbe0.w32.b0\", !227, i64 0}\\n!227 = !{!\"0x515cbe0.w64.b0\", !228, i64 0}\\n!228 = !{!\"0x515cbe0.w128.b0\", !229, i64 0}\\n!229 = !{!\"0x515cbe0.w256.b0\", !230, i64 0}\\n!230 = !{!\"0x515cbe0.w512.b0\", !231, i64 0}\\n!231 = !{!\"0x515cbe0.w1024.b0\", !232, i64 0}\\n!232 = !{!\"int32\", !233, i64 0}\\n!233 = !{!\"0x515cbe0\", !4, i64 0}\\n!234 = !{!235, !235, i64 0}\\n!235 = !{!\"0x515cbe0.w1.b1\", !222, i64 0}\\n!236 = !{!237, !237, i64 0}\\n!237 = !{!\"0x515c1e0.w1.b0\", !238, i64 0}\\n!238 = !{!\"0x515c1e0.w2.b0\", !239, i64 0}\\n!239 = !{!\"0x515c1e0.w4.b0\", !240, i64 0}\\n!240 = !{!\"0x515c1e0.w8.b0\", !241, i64 0}\\n!241 = !{!\"0x515c1e0.w16.b0\", !242, i64 0}\\n!242 = !{!\"0x515c1e0.w32.b0\", !243, i64 0}\\n!243 = !{!\"0x515c1e0.w64.b0\", !244, i64 0}\\n!244 = !{!\"0x515c1e0.w128.b0\", !245, i64 0}\\n!245 = !{!\"0x515c1e0.w256.b0\", !246, i64 0}\\n!246 = !{!\"0x515c1e0.w512.b0\", !247, i64 0}\\n!247 = !{!\"0x515c1e0.w1024.b0\", !248, i64 0}\\n!248 = !{!\"int64\", !249, i64 0}\\n!249 = !{!\"0x515c1e0\", !4, i64 0}\\n!250 = !{!251, !251, i64 0}\\n!251 = !{!\"0x515c1e0.w1.b1\", !238, i64 0}\\n!252 = !{!253, !253, i64 0}\\n!253 = !{!\"0x515c1e0.w1.b2\", !254, i64 0}\\n!254 = !{!\"0x515c1e0.w2.b2\", !239, i64 0}\\n!255 = !{!256, !256, i64 0}\\n!256 = !{!\"0x515cfa0.w1.b0\", !257, i64 0}\\n!257 = !{!\"0x515cfa0.w2.b0\", !258, i64 0}\\n!258 = !{!\"0x515cfa0.w4.b0\", !259, i64 0}\\n!259 = !{!\"0x515cfa0.w8.b0\", !260, i64 0}\\n!260 = !{!\"0x515cfa0.w16.b0\", !261, i64 0}\\n!261 = !{!\"0x515cfa0.w32.b0\", !262, i64 0}\\n!262 = !{!\"0x515cfa0.w64.b0\", !263, i64 0}\\n!263 = !{!\"0x515cfa0.w128.b0\", !264, i64 0}\\n!264 = !{!\"0x515cfa0.w256.b0\", !265, i64 0}\\n!265 = !{!\"0x515cfa0.w512.b0\", !266, i64 0}\\n!266 = !{!\"0x515cfa0.w1024.b0\", !267, i64 0}\\n!267 = !{!\"int64\", !268, i64 0}\\n!268 = !{!\"0x515cfa0\", !4, i64 0}\\n!269 = !{!270, !270, i64 0}\\n!270 = !{!\"0x515cfa0.w1.b1\", !257, i64 0}\\n!271 = !{!272, !272, i64 0}\\n!272 = !{!\"0x515cfa0.w1.b2\", !273, i64 0}\\n!273 = !{!\"0x515cfa0.w2.b2\", !258, i64 0}\\n!274 = !{!275, !275, i64 0}\\n!275 = !{!\"0x515cfa0.w1.b3\", !273, i64 0}\\n!276 = !{!277, !277, i64 0}\\n!277 = !{!\"0x4d19cc0.w1.b0\", !278, i64 0}\\n!278 = !{!\"0x4d19cc0.w2.b0\", !279, i64 0}\\n!279 = !{!\"0x4d19cc0.w4.b0\", !280, i64 0}\\n!280 = !{!\"0x4d19cc0.w8.b0\", !281, i64 0}\\n!281 = !{!\"0x4d19cc0.w16.b0\", !282, i64 0}\\n!282 = !{!\"0x4d19cc0.w32.b0\", !283, i64 0}\\n!283 = !{!\"0x4d19cc0.w64.b0\", !284, i64 0}\\n!284 = !{!\"0x4d19cc0.w128.b0\", !285, i64 0}\\n!285 = !{!\"0x4d19cc0.w256.b0\", !286, i64 0}\\n!286 = !{!\"0x4d19cc0.w512.b0\", !287, i64 0}\\n!287 = !{!\"0x4d19cc0.w1024.b0\", !288, i64 0}\\n!288 = !{!\"int64\", !289, i64 0}\\n!289 = !{!\"0x4d19cc0\", !4, i64 0}\\n!290 = !{!291, !291, i64 0}\\n!291 = !{!\"0x4d19cc0.w1.b1\", !278, i64 0}\\n!292 = !{!293, !293, i64 0}\\n!293 = !{!\"0x4d19cc0.w1.b2\", !294, i64 0}\\n!294 = !{!\"0x4d19cc0.w2.b2\", !279, i64 0}\\n!295 = !{!296, !296, i64 0}\\n!296 = !{!\"0x4196cb0.w1.b0\", !297, i64 0}\\n!297 = !{!\"0x4196cb0.w2.b0\", !298, i64 0}\\n!298 = !{!\"0x4196cb0.w4.b0\", !299, i64 0}\\n!299 = !{!\"0x4196cb0.w8.b0\", !300, i64 0}\\n!300 = !{!\"0x4196cb0.w16.b0\", !301, i64 0}\\n!301 = !{!\"0x4196cb0.w32.b0\", !302, i64 0}\\n!302 = !{!\"0x4196cb0.w64.b0\", !303, i64 0}\\n!303 = !{!\"0x4196cb0.w128.b0\", !304, i64 0}\\n!304 = !{!\"0x4196cb0.w256.b0\", !305, i64 0}\\n!305 = !{!\"0x4196cb0.w512.b0\", !306, i64 0}\\n!306 = !{!\"0x4196cb0.w1024.b0\", !307, i64 0}\\n!307 = !{!\"int64\", !308, i64 0}\\n!308 = !{!\"0x4196cb0\", !4, i64 0}\\n!309 = !{!310, !310, i64 0}\\n!310 = !{!\"0x4196cb0.w1.b1\", !297, i64 0}\\n!311 = !{!312, !312, i64 0}\\n!312 = !{!\"0x4196cb0.w1.b2\", !313, i64 0}\\n!313 = !{!\"0x4196cb0.w2.b2\", !298, i64 0}\\n!314 = !{!315, !315, i64 0}\\n!315 = !{!\"0x4196cb0.w1.b3\", !313, i64 0}\\n!316 = !{!317, !317, i64 0}\\n!317 = !{!\"0x5423930.w1.b0\", !318, i64 0}\\n!318 = !{!\"0x5423930.w2.b0\", !319, i64 0}\\n!319 = !{!\"0x5423930.w4.b0\", !320, i64 0}\\n!320 = !{!\"0x5423930.w8.b0\", !321, i64 0}\\n!321 = !{!\"0x5423930.w16.b0\", !322, i64 0}\\n!322 = !{!\"0x5423930.w32.b0\", !323, i64 0}\\n!323 = !{!\"0x5423930.w64.b0\", !324, i64 0}\\n!324 = !{!\"0x5423930.w128.b0\", !325, i64 0}\\n!325 = !{!\"0x5423930.w256.b0\", !326, i64 0}\\n!326 = !{!\"0x5423930.w512.b0\", !327, i64 0}\\n!327 = !{!\"0x5423930.w1024.b0\", !328, i64 0}\\n!328 = !{!\"int32\", !329, i64 0}\\n!329 = !{!\"0x5423930\", !4, i64 0}\\n!330 = !{!331, !331, i64 0}\\n!331 = !{!\"0x5423930.w1.b1\", !318, i64 0}\\n!332 = !{!333, !333, i64 0}\\n!333 = !{!\"0x5423ac0.w1.b0\", !334, i64 0}\\n!334 = !{!\"0x5423ac0.w2.b0\", !335, i64 0}\\n!335 = !{!\"0x5423ac0.w4.b0\", !336, i64 0}\\n!336 = !{!\"0x5423ac0.w8.b0\", !337, i64 0}\\n!337 = !{!\"0x5423ac0.w16.b0\", !338, i64 0}\\n!338 = !{!\"0x5423ac0.w32.b0\", !339, i64 0}\\n!339 = !{!\"0x5423ac0.w64.b0\", !340, i64 0}\\n!340 = !{!\"0x5423ac0.w128.b0\", !341, i64 0}\\n!341 = !{!\"0x5423ac0.w256.b0\", !342, i64 0}\\n!342 = !{!\"0x5423ac0.w512.b0\", !343, i64 0}\\n!343 = !{!\"0x5423ac0.w1024.b0\", !344, i64 0}\\n!344 = !{!\"int64\", !345, i64 0}\\n!345 = !{!\"0x5423ac0\", !4, i64 0}\\n!346 = !{!347, !347, i64 0}\\n!347 = !{!\"0x5423ac0.w1.b1\", !334, i64 0}\\n!348 = !{!349, !349, i64 0}\\n!349 = !{!\"0x5423ac0.w1.b2\", !350, i64 0}\\n!350 = !{!\"0x5423ac0.w2.b2\", !335, i64 0}\\n!351 = !{!352, !352, i64 0}\\n!352 = !{!\"0x5423ac0.w1.b3\", !350, i64 0}\\n!353 = !{!354, !354, i64 0}\\n!354 = !{!\"0x5423980.w1.b0\", !355, i64 0}\\n!355 = !{!\"0x5423980.w2.b0\", !356, i64 0}\\n!356 = !{!\"0x5423980.w4.b0\", !357, i64 0}\\n!357 = !{!\"0x5423980.w8.b0\", !358, i64 0}\\n!358 = !{!\"0x5423980.w16.b0\", !359, i64 0}\\n!359 = !{!\"0x5423980.w32.b0\", !360, i64 0}\\n!360 = !{!\"0x5423980.w64.b0\", !361, i64 0}\\n!361 = !{!\"0x5423980.w128.b0\", !362, i64 0}\\n!362 = !{!\"0x5423980.w256.b0\", !363, i64 0}\\n!363 = !{!\"0x5423980.w512.b0\", !364, i64 0}\\n!364 = !{!\"0x5423980.w1024.b0\", !365, i64 0}\\n!365 = !{!\"int64\", !366, i64 0}\\n!366 = !{!\"0x5423980\", !4, i64 0}\\n!367 = !{!368, !368, i64 0}\\n!368 = !{!\"0x5423980.w1.b1\", !355, i64 0}\\n!369 = !{!370, !370, i64 0}\\n!370 = !{!\"0x5423980.w1.b2\", !371, i64 0}\\n!371 = !{!\"0x5423980.w2.b2\", !356, i64 0}\\n!372 = !{!373, !373, i64 0}\\n!373 = !{!\"0x5423980.w1.b3\", !371, i64 0}\\n!374 = !{!375, !375, i64 0}\\n!375 = !{!\"0x5423980.w1.b4\", !376, i64 0}\\n!376 = !{!\"0x5423980.w2.b4\", !377, i64 0}\\n!377 = !{!\"0x5423980.w4.b4\", !357, i64 0}\\n!378 = !{!379, !379, i64 0}\\n!379 = !{!\"0x5423570.w1.b0\", !380, i64 0}\\n!380 = !{!\"0x5423570.w2.b0\", !381, i64 0}\\n!381 = !{!\"0x5423570.w4.b0\", !382, i64 0}\\n!382 = !{!\"0x5423570.w8.b0\", !383, i64 0}\\n!383 = !{!\"0x5423570.w16.b0\", !384, i64 0}\\n!384 = !{!\"0x5423570.w32.b0\", !385, i64 0}\\n!385 = !{!\"0x5423570.w64.b0\", !386, i64 0}\\n!386 = !{!\"0x5423570.w128.b0\", !387, i64 0}\\n!387 = !{!\"0x5423570.w256.b0\", !388, i64 0}\\n!388 = !{!\"0x5423570.w512.b0\", !389, i64 0}\\n!389 = !{!\"0x5423570.w1024.b0\", !390, i64 0}\\n!390 = !{!\"int64\", !391, i64 0}\\n!391 = !{!\"0x5423570\", !4, i64 0}\\n!392 = !{!393, !393, i64 0}\\n!393 = !{!\"0x5423570.w1.b1\", !380, i64 0}\\n!394 = !{!395, !395, i64 0}\\n!395 = !{!\"0x5423570.w1.b2\", !396, i64 0}\\n!396 = !{!\"0x5423570.w2.b2\", !381, i64 0}\\n!397 = !{!398, !398, i64 0}\\n!398 = !{!\"0x5423570.w1.b3\", !396, i64 0}\\n!399 = !{!400, !400, i64 0}\\n!400 = !{!\"0x543e190.w1.b0\", !401, i64 0}\\n!401 = !{!\"0x543e190.w2.b0\", !402, i64 0}\\n!402 = !{!\"0x543e190.w4.b0\", !403, i64 0}\\n!403 = !{!\"0x543e190.w8.b0\", !404, i64 0}\\n!404 = !{!\"0x543e190.w16.b0\", !405, i64 0}\\n!405 = !{!\"0x543e190.w32.b0\", !406, i64 0}\\n!406 = !{!\"0x543e190.w64.b0\", !407, i64 0}\\n!407 = !{!\"0x543e190.w128.b0\", !408, i64 0}\\n!408 = !{!\"0x543e190.w256.b0\", !409, i64 0}\\n!409 = !{!\"0x543e190.w512.b0\", !410, i64 0}\\n!410 = !{!\"0x543e190.w1024.b0\", !411, i64 0}\\n!411 = !{!\"int64\", !412, i64 0}\\n!412 = !{!\"0x543e190\", !4, i64 0}\\n!413 = !{!414, !414, i64 0}\\n!414 = !{!\"0x543e190.w1.b1\", !401, i64 0}\\n!415 = !{!416, !416, i64 0}\\n!416 = !{!\"0x543e190.w1.b2\", !417, i64 0}\\n!417 = !{!\"0x543e190.w2.b2\", !402, i64 0}\\n!418 = !{!419, !419, i64 0}\\n!419 = !{!\"0x543e190.w1.b3\", !417, i64 0}\\n!420 = !{!421, !421, i64 0}\\n!421 = !{!\"0x543e190.w1.b4\", !422, i64 0}\\n!422 = !{!\"0x543e190.w2.b4\", !423, i64 0}\\n!423 = !{!\"0x543e190.w4.b4\", !403, i64 0}\\n!424 = !{!425, !425, i64 0}\\n!425 = !{!\"float32\", !426, i64 0}\\n!426 = !{!\"0x5422c10\", !4, i64 0}\\n!427 = !{!428, !428, i64 0}\\n!428 = !{!\"float32\", !429, i64 0}\\n!429 = !{!\"0x5423250\", !4, i64 0}\\n!430 = !{!431, !431, i64 0}\\n!431 = !{!\"0x5440490.w1.b0\", !432, i64 0}\\n!432 = !{!\"0x5440490.w2.b0\", !433, i64 0}\\n!433 = !{!\"0x5440490.w4.b0\", !434, i64 0}\\n!434 = !{!\"0x5440490.w8.b0\", !435, i64 0}\\n!435 = !{!\"0x5440490.w16.b0\", !436, i64 0}\\n!436 = !{!\"0x5440490.w32.b0\", !437, i64 0}\\n!437 = !{!\"0x5440490.w64.b0\", !438, i64 0}\\n!438 = !{!\"0x5440490.w128.b0\", !439, i64 0}\\n!439 = !{!\"0x5440490.w256.b0\", !440, i64 0}\\n!440 = !{!\"0x5440490.w512.b0\", !441, i64 0}\\n!441 = !{!\"0x5440490.w1024.b0\", !442, i64 0}\\n!442 = !{!\"int32\", !443, i64 0}\\n!443 = !{!\"0x5440490\", !4, i64 0}\\n!444 = !{!445, !445, i64 0}\\n!445 = !{!\"0x5440490.w1.b1\", !432, i64 0}\\n!446 = !{!447, !447, i64 0}\\n!447 = !{!\"0x4d5cd00.w1.b0\", !448, i64 0}\\n!448 = !{!\"0x4d5cd00.w2.b0\", !449, i64 0}\\n!449 = !{!\"0x4d5cd00.w4.b0\", !450, i64 0}\\n!450 = !{!\"0x4d5cd00.w8.b0\", !451, i64 0}\\n!451 = !{!\"0x4d5cd00.w16.b0\", !452, i64 0}\\n!452 = !{!\"0x4d5cd00.w32.b0\", !453, i64 0}\\n!453 = !{!\"0x4d5cd00.w64.b0\", !454, i64 0}\\n!454 = !{!\"0x4d5cd00.w128.b0\", !455, i64 0}\\n!455 = !{!\"0x4d5cd00.w256.b0\", !456, i64 0}\\n!456 = !{!\"0x4d5cd00.w512.b0\", !457, i64 0}\\n!457 = !{!\"0x4d5cd00.w1024.b0\", !458, i64 0}\\n!458 = !{!\"int64\", !459, i64 0}\\n!459 = !{!\"0x4d5cd00\", !4, i64 0}\\n!460 = !{!461, !461, i64 0}\\n!461 = !{!\"0x4d5cd00.w1.b1\", !448, i64 0}\\n!462 = !{!463, !463, i64 0}\\n!463 = !{!\"0x4d5cd00.w1.b2\", !464, i64 0}\\n!464 = !{!\"0x4d5cd00.w2.b2\", !449, i64 0}\\n!465 = !{!466, !466, i64 0}\\n!466 = !{!\"0x4d5cd00.w1.b3\", !464, i64 0}\\n!467 = !{!468, !468, i64 0}\\n!468 = !{!\"0x4d5cd00.w1.b4\", !469, i64 0}\\n!469 = !{!\"0x4d5cd00.w2.b4\", !470, i64 0}\\n!470 = !{!\"0x4d5cd00.w4.b4\", !450, i64 0}\\n!471 = !{!472, !472, i64 0}\\n!472 = !{!\"0x4d49360.w1.b0\", !473, i64 0}\\n!473 = !{!\"0x4d49360.w2.b0\", !474, i64 0}\\n!474 = !{!\"0x4d49360.w4.b0\", !475, i64 0}\\n!475 = !{!\"0x4d49360.w8.b0\", !476, i64 0}\\n!476 = !{!\"0x4d49360.w16.b0\", !477, i64 0}\\n!477 = !{!\"0x4d49360.w32.b0\", !478, i64 0}\\n!478 = !{!\"0x4d49360.w64.b0\", !479, i64 0}\\n!479 = !{!\"0x4d49360.w128.b0\", !480, i64 0}\\n!480 = !{!\"0x4d49360.w256.b0\", !481, i64 0}\\n!481 = !{!\"0x4d49360.w512.b0\", !482, i64 0}\\n!482 = !{!\"0x4d49360.w1024.b0\", !483, i64 0}\\n!483 = !{!\"int64\", !484, i64 0}\\n!484 = !{!\"0x4d49360\", !4, i64 0}\\n!485 = !{!486, !486, i64 0}\\n!486 = !{!\"0x4d49360.w1.b1\", !473, i64 0}\\n!487 = !{!488, !488, i64 0}\\n!488 = !{!\"0x4d49220.w1.b0\", !489, i64 0}\\n!489 = !{!\"0x4d49220.w2.b0\", !490, i64 0}\\n!490 = !{!\"0x4d49220.w4.b0\", !491, i64 0}\\n!491 = !{!\"0x4d49220.w8.b0\", !492, i64 0}\\n!492 = !{!\"0x4d49220.w16.b0\", !493, i64 0}\\n!493 = !{!\"0x4d49220.w32.b0\", !494, i64 0}\\n!494 = !{!\"0x4d49220.w64.b0\", !495, i64 0}\\n!495 = !{!\"0x4d49220.w128.b0\", !496, i64 0}\\n!496 = !{!\"0x4d49220.w256.b0\", !497, i64 0}\\n!497 = !{!\"0x4d49220.w512.b0\", !498, i64 0}\\n!498 = !{!\"0x4d49220.w1024.b0\", !499, i64 0}\\n!499 = !{!\"int64\", !500, i64 0}\\n!500 = !{!\"0x4d49220\", !4, i64 0}\\n!501 = !{!502, !502, i64 0}\\n!502 = !{!\"0x4d49220.w1.b1\", !489, i64 0}\\n!503 = !{!504, !504, i64 0}\\n!504 = !{!\"0x4d49220.w1.b2\", !505, i64 0}\\n!505 = !{!\"0x4d49220.w2.b2\", !490, i64 0}\\n!506 = !{!507, !507, i64 0}\\n!507 = !{!\"0x4d49220.w1.b3\", !505, i64 0}\\n!508 = !{!509, !509, i64 0}\\n!509 = !{!\"0x4d49220.w1.b4\", !510, i64 0}\\n!510 = !{!\"0x4d49220.w2.b4\", !511, i64 0}\\n!511 = !{!\"0x4d49220.w4.b4\", !491, i64 0}\\n!512 = !{!513, !513, i64 0}\\n!513 = !{!\"0x5420aa0.w1.b0\", !514, i64 0}\\n!514 = !{!\"0x5420aa0.w2.b0\", !515, i64 0}\\n!515 = !{!\"0x5420aa0.w4.b0\", !516, i64 0}\\n!516 = !{!\"0x5420aa0.w8.b0\", !517, i64 0}\\n!517 = !{!\"0x5420aa0.w16.b0\", !518, i64 0}\\n!518 = !{!\"0x5420aa0.w32.b0\", !519, i64 0}\\n!519 = !{!\"0x5420aa0.w64.b0\", !520, i64 0}\\n!520 = !{!\"0x5420aa0.w128.b0\", !521, i64 0}\\n!521 = !{!\"0x5420aa0.w256.b0\", !522, i64 0}\\n!522 = !{!\"0x5420aa0.w512.b0\", !523, i64 0}\\n!523 = !{!\"0x5420aa0.w1024.b0\", !524, i64 0}\\n!524 = !{!\"int64\", !525, i64 0}\\n!525 = !{!\"0x5420aa0\", !4, i64 0}\\n!526 = !{!527, !527, i64 0}\\n!527 = !{!\"0x5420aa0.w1.b1\", !514, i64 0}\\n!528 = !{!529, !529, i64 0}\\n!529 = !{!\"float32\", !530, i64 0}\\n!530 = !{!\"0x4d5a050\", !4, i64 0}\\n!531 = !{!532, !532, i64 0}\\n!532 = !{!\"float32\", !533, i64 0}\\n!533 = !{!\"0x53f7570\", !4, i64 0}\\n!534 = distinct !{!534, !535}\\n!535 = !{!\"llvm.loop.isvectorized\", i32 1}\\n!536 = !{!537, !537, i64 0}\\n!537 = !{!\"0x5421680.w1.b0\", !538, i64 0}\\n!538 = !{!\"0x5421680.w2.b0\", !539, i64 0}\\n!539 = !{!\"0x5421680.w4.b0\", !540, i64 0}\\n!540 = !{!\"0x5421680.w8.b0\", !541, i64 0}\\n!541 = !{!\"0x5421680.w16.b0\", !542, i64 0}\\n!542 = !{!\"0x5421680.w32.b0\", !543, i64 0}\\n!543 = !{!\"0x5421680.w64.b0\", !544, i64 0}\\n!544 = !{!\"0x5421680.w128.b0\", !545, i64 0}\\n!545 = !{!\"0x5421680.w256.b0\", !546, i64 0}\\n!546 = !{!\"0x5421680.w512.b0\", !547, i64 0}\\n!547 = !{!\"0x5421680.w1024.b0\", !548, i64 0}\\n!548 = !{!\"int32\", !549, i64 0}\\n!549 = !{!\"0x5421680\", !4, i64 0}\\n!550 = !{!551, !551, i64 0}\\n!551 = !{!\"0x5421680.w1.b1\", !538, i64 0}\\n!552 = !{!553, !553, i64 0}\\n!553 = !{!\"0x5421680.w1.b2\", !554, i64 0}\\n!554 = !{!\"0x5421680.w2.b2\", !539, i64 0}\\n!555 = !{!556, !556, i64 0}\\n!556 = !{!\"0x5421680.w1.b3\", !554, i64 0}\\n!557 = !{!558, !558, i64 0}\\n!558 = !{!\"0x54212c0.w1.b0\", !559, i64 0}\\n!559 = !{!\"0x54212c0.w2.b0\", !560, i64 0}\\n!560 = !{!\"0x54212c0.w4.b0\", !561, i64 0}\\n!561 = !{!\"0x54212c0.w8.b0\", !562, i64 0}\\n!562 = !{!\"0x54212c0.w16.b0\", !563, i64 0}\\n!563 = !{!\"0x54212c0.w32.b0\", !564, i64 0}\\n!564 = !{!\"0x54212c0.w64.b0\", !565, i64 0}\\n!565 = !{!\"0x54212c0.w128.b0\", !566, i64 0}\\n!566 = !{!\"0x54212c0.w256.b0\", !567, i64 0}\\n!567 = !{!\"0x54212c0.w512.b0\", !568, i64 0}\\n!568 = !{!\"0x54212c0.w1024.b0\", !569, i64 0}\\n!569 = !{!\"int64\", !570, i64 0}\\n!570 = !{!\"0x54212c0\", !4, i64 0}\\n!571 = !{!572, !572, i64 0}\\n!572 = !{!\"0x54212c0.w1.b1\", !559, i64 0}\\n!573 = !{!574, !574, i64 0}\\n!574 = !{!\"0x54212c0.w1.b2\", !575, i64 0}\\n!575 = !{!\"0x54212c0.w2.b2\", !560, i64 0}\\n!576 = !{!577, !577, i64 0}\\n!577 = !{!\"0x54212c0.w1.b3\", !575, i64 0}\\n!578 = !{!579, !579, i64 0}\\n!579 = !{!\"0x54212c0.w1.b4\", !580, i64 0}\\n!580 = !{!\"0x54212c0.w2.b4\", !581, i64 0}\\n!581 = !{!\"0x54212c0.w4.b4\", !561, i64 0}\\n!582 = !{!583, !583, i64 0}\\n!583 = !{!\"0x5422580.w1.b0\", !584, i64 0}\\n!584 = !{!\"0x5422580.w2.b0\", !585, i64 0}\\n!585 = !{!\"0x5422580.w4.b0\", !586, i64 0}\\n!586 = !{!\"0x5422580.w8.b0\", !587, i64 0}\\n!587 = !{!\"0x5422580.w16.b0\", !588, i64 0}\\n!588 = !{!\"0x5422580.w32.b0\", !589, i64 0}\\n!589 = !{!\"0x5422580.w64.b0\", !590, i64 0}\\n!590 = !{!\"0x5422580.w128.b0\", !591, i64 0}\\n!591 = !{!\"0x5422580.w256.b0\", !592, i64 0}\\n!592 = !{!\"0x5422580.w512.b0\", !593, i64 0}\\n!593 = !{!\"0x5422580.w1024.b0\", !594, i64 0}\\n!594 = !{!\"int64\", !595, i64 0}\\n!595 = !{!\"0x5422580\", !4, i64 0}\\n!596 = !{!597, !597, i64 0}\\n!597 = !{!\"0x5422580.w1.b1\", !584, i64 0}\\n!598 = !{!599, !599, i64 0}\\n!599 = !{!\"0x5422580.w1.b2\", !600, i64 0}\\n!600 = !{!\"0x5422580.w2.b2\", !585, i64 0}\\n!601 = !{!602, !602, i64 0}\\n!602 = !{!\"0x5422580.w1.b3\", !600, i64 0}\\n!603 = !{!604, !604, i64 0}\\n!604 = !{!\"0x5422580.w1.b4\", !605, i64 0}\\n!605 = !{!\"0x5422580.w2.b4\", !606, i64 0}\\n!606 = !{!\"0x5422580.w4.b4\", !586, i64 0}\\n!607 = !{!608, !608, i64 0}\\n!608 = !{!\"0x5422580.w1.b5\", !605, i64 0}\\n!609 = !{!610, !610, i64 0}\\n!610 = !{!\"0x5422210.w1.b0\", !611, i64 0}\\n!611 = !{!\"0x5422210.w2.b0\", !612, i64 0}\\n!612 = !{!\"0x5422210.w4.b0\", !613, i64 0}\\n!613 = !{!\"0x5422210.w8.b0\", !614, i64 0}\\n!614 = !{!\"0x5422210.w16.b0\", !615, i64 0}\\n!615 = !{!\"0x5422210.w32.b0\", !616, i64 0}\\n!616 = !{!\"0x5422210.w64.b0\", !617, i64 0}\\n!617 = !{!\"0x5422210.w128.b0\", !618, i64 0}\\n!618 = !{!\"0x5422210.w256.b0\", !619, i64 0}\\n!619 = !{!\"0x5422210.w512.b0\", !620, i64 0}\\n!620 = !{!\"0x5422210.w1024.b0\", !621, i64 0}\\n!621 = !{!\"int64\", !622, i64 0}\\n!622 = !{!\"0x5422210\", !4, i64 0}\\n!623 = !{!624, !624, i64 0}\\n!624 = !{!\"0x5422210.w1.b1\", !611, i64 0}\\n!625 = !{!626, !626, i64 0}\\n!626 = !{!\"0x5422210.w1.b2\", !627, i64 0}\\n!627 = !{!\"0x5422210.w2.b2\", !612, i64 0}\\n!628 = !{!629, !629, i64 0}\\n!629 = !{!\"0x5422210.w1.b3\", !627, i64 0}\\n!630 = !{!631, !631, i64 0}\\n!631 = !{!\"0x5422940.w1.b0\", !632, i64 0}\\n!632 = !{!\"0x5422940.w2.b0\", !633, i64 0}\\n!633 = !{!\"0x5422940.w4.b0\", !634, i64 0}\\n!634 = !{!\"0x5422940.w8.b0\", !635, i64 0}\\n!635 = !{!\"0x5422940.w16.b0\", !636, i64 0}\\n!636 = !{!\"0x5422940.w32.b0\", !637, i64 0}\\n!637 = !{!\"0x5422940.w64.b0\", !638, i64 0}\\n!638 = !{!\"0x5422940.w128.b0\", !639, i64 0}\\n!639 = !{!\"0x5422940.w256.b0\", !640, i64 0}\\n!640 = !{!\"0x5422940.w512.b0\", !641, i64 0}\\n!641 = !{!\"0x5422940.w1024.b0\", !642, i64 0}\\n!642 = !{!\"int64\", !643, i64 0}\\n!643 = !{!\"0x5422940\", !4, i64 0}\\n!644 = !{!645, !645, i64 0}\\n!645 = !{!\"0x5422940.w1.b1\", !632, i64 0}\\n!646 = !{!647, !647, i64 0}\\n!647 = !{!\"0x5422940.w1.b2\", !648, i64 0}\\n!648 = !{!\"0x5422940.w2.b2\", !633, i64 0}\\n!649 = !{!650, !650, i64 0}\\n!650 = !{!\"0x5422940.w1.b3\", !648, i64 0}\\n!651 = !{!652, !652, i64 0}\\n!652 = !{!\"0x5422940.w1.b4\", !653, i64 0}\\n!653 = !{!\"0x5422940.w2.b4\", !654, i64 0}\\n!654 = !{!\"0x5422940.w4.b4\", !634, i64 0}\\n!655 = !{!656, !656, i64 0}\\n!656 = !{!\"0x5421d10.w1.b0\", !657, i64 0}\\n!657 = !{!\"0x5421d10.w2.b0\", !658, i64 0}\\n!658 = !{!\"0x5421d10.w4.b0\", !659, i64 0}\\n!659 = !{!\"0x5421d10.w8.b0\", !660, i64 0}\\n!660 = !{!\"0x5421d10.w16.b0\", !661, i64 0}\\n!661 = !{!\"0x5421d10.w32.b0\", !662, i64 0}\\n!662 = !{!\"0x5421d10.w64.b0\", !663, i64 0}\\n!663 = !{!\"0x5421d10.w128.b0\", !664, i64 0}\\n!664 = !{!\"0x5421d10.w256.b0\", !665, i64 0}\\n!665 = !{!\"0x5421d10.w512.b0\", !666, i64 0}\\n!666 = !{!\"0x5421d10.w1024.b0\", !667, i64 0}\\n!667 = !{!\"int64\", !668, i64 0}\\n!668 = !{!\"0x5421d10\", !4, i64 0}\\n!669 = !{!670, !670, i64 0}\\n!670 = !{!\"0x5421d10.w1.b1\", !657, i64 0}\\n!671 = !{!672, !672, i64 0}\\n!672 = !{!\"0x5421d10.w1.b2\", !673, i64 0}\\n!673 = !{!\"0x5421d10.w2.b2\", !658, i64 0}\\n!674 = !{!675, !675, i64 0}\\n!675 = !{!\"0x5421d10.w1.b3\", !673, i64 0}\\n!676 = !{!677, !677, i64 0}\\n!677 = !{!\"0x5421d10.w1.b4\", !678, i64 0}\\n!678 = !{!\"0x5421d10.w2.b4\", !679, i64 0}\\n!679 = !{!\"0x5421d10.w4.b4\", !659, i64 0}\\n!680 = !{!681, !681, i64 0}\\n!681 = !{!\"0x5421b80.w1.b0\", !682, i64 0}\\n!682 = !{!\"0x5421b80.w2.b0\", !683, i64 0}\\n!683 = !{!\"0x5421b80.w4.b0\", !684, i64 0}\\n!684 = !{!\"0x5421b80.w8.b0\", !685, i64 0}\\n!685 = !{!\"0x5421b80.w16.b0\", !686, i64 0}\\n!686 = !{!\"0x5421b80.w32.b0\", !687, i64 0}\\n!687 = !{!\"0x5421b80.w64.b0\", !688, i64 0}\\n!688 = !{!\"0x5421b80.w128.b0\", !689, i64 0}\\n!689 = !{!\"0x5421b80.w256.b0\", !690, i64 0}\\n!690 = !{!\"0x5421b80.w512.b0\", !691, i64 0}\\n!691 = !{!\"0x5421b80.w1024.b0\", !692, i64 0}\\n!692 = !{!\"int64\", !693, i64 0}\\n!693 = !{!\"0x5421b80\", !4, i64 0}\\n!694 = !{!695, !695, i64 0}\\n!695 = !{!\"0x5421b80.w1.b1\", !682, i64 0}\\n!696 = !{!697, !697, i64 0}\\n!697 = !{!\"0x5421b80.w1.b2\", !698, i64 0}\\n!698 = !{!\"0x5421b80.w2.b2\", !683, i64 0}\\n!699 = !{!700, !700, i64 0}\\n!700 = !{!\"0x5421b80.w1.b3\", !698, i64 0}\\n!701 = !{!702, !702, i64 0}\\n!702 = !{!\"0x5421b80.w1.b4\", !703, i64 0}\\n!703 = !{!\"0x5421b80.w2.b4\", !704, i64 0}\\n!704 = !{!\"0x5421b80.w4.b4\", !684, i64 0}\\n!705 = !{!706, !706, i64 0}\\n!706 = !{!\"0x5421b80.w1.b5\", !703, i64 0}\\n!707 = !{!708, !708, i64 0}\\n!708 = !{!\"0x5421a90.w1.b0\", !709, i64 0}\\n!709 = !{!\"0x5421a90.w2.b0\", !710, i64 0}\\n!710 = !{!\"0x5421a90.w4.b0\", !711, i64 0}\\n!711 = !{!\"0x5421a90.w8.b0\", !712, i64 0}\\n!712 = !{!\"0x5421a90.w16.b0\", !713, i64 0}\\n!713 = !{!\"0x5421a90.w32.b0\", !714, i64 0}\\n!714 = !{!\"0x5421a90.w64.b0\", !715, i64 0}\\n!715 = !{!\"0x5421a90.w128.b0\", !716, i64 0}\\n!716 = !{!\"0x5421a90.w256.b0\", !717, i64 0}\\n!717 = !{!\"0x5421a90.w512.b0\", !718, i64 0}\\n!718 = !{!\"0x5421a90.w1024.b0\", !719, i64 0}\\n!719 = !{!\"int64\", !720, i64 0}\\n!720 = !{!\"0x5421a90\", !4, i64 0}\\n!721 = !{!722, !722, i64 0}\\n!722 = !{!\"0x5421a90.w1.b1\", !709, i64 0}\\n!723 = !{!724, !724, i64 0}\\n!724 = !{!\"0x5421a90.w1.b2\", !725, i64 0}\\n!725 = !{!\"0x5421a90.w2.b2\", !710, i64 0}\\n!726 = !{!727, !727, i64 0}\\n!727 = !{!\"0x5421a90.w1.b3\", !725, i64 0}\\n!728 = !{!729, !729, i64 0}\\n!729 = !{!\"0x5422760.w1.b0\", !730, i64 0}\\n!730 = !{!\"0x5422760.w2.b0\", !731, i64 0}\\n!731 = !{!\"0x5422760.w4.b0\", !732, i64 0}\\n!732 = !{!\"0x5422760.w8.b0\", !733, i64 0}\\n!733 = !{!\"0x5422760.w16.b0\", !734, i64 0}\\n!734 = !{!\"0x5422760.w32.b0\", !735, i64 0}\\n!735 = !{!\"0x5422760.w64.b0\", !736, i64 0}\\n!736 = !{!\"0x5422760.w128.b0\", !737, i64 0}\\n!737 = !{!\"0x5422760.w256.b0\", !738, i64 0}\\n!738 = !{!\"0x5422760.w512.b0\", !739, i64 0}\\n!739 = !{!\"0x5422760.w1024.b0\", !740, i64 0}\\n!740 = !{!\"int64\", !741, i64 0}\\n!741 = !{!\"0x5422760\", !4, i64 0}\\n!742 = !{!743, !743, i64 0}\\n!743 = !{!\"0x5422760.w1.b1\", !730, i64 0}\\n!744 = !{!745, !745, i64 0}\\n!745 = !{!\"0x5422760.w1.b2\", !746, i64 0}\\n!746 = !{!\"0x5422760.w2.b2\", !731, i64 0}\\n!747 = !{!748, !748, i64 0}\\n!748 = !{!\"0x5422760.w1.b3\", !746, i64 0}\\n!749 = !{!750, !750, i64 0}\\n!750 = !{!\"0x5422760.w1.b4\", !751, i64 0}\\n!751 = !{!\"0x5422760.w2.b4\", !752, i64 0}\\n!752 = !{!\"0x5422760.w4.b4\", !732, i64 0}\\n!753 = !{!754, !754, i64 0}\\n!754 = !{!\"0x5421040.w8.b0\", !755, i64 0}\\n!755 = !{!\"0x5421040.w16.b0\", !756, i64 0}\\n!756 = !{!\"0x5421040.w32.b0\", !757, i64 0}\\n!757 = !{!\"0x5421040.w64.b0\", !758, i64 0}\\n!758 = !{!\"0x5421040.w128.b0\", !759, i64 0}\\n!759 = !{!\"0x5421040.w256.b0\", !760, i64 0}\\n!760 = !{!\"0x5421040.w512.b0\", !761, i64 0}\\n!761 = !{!\"0x5421040.w1024.b0\", !762, i64 0}\\n!762 = !{!\"float32\", !763, i64 0}\\n!763 = !{!\"0x5421040\", !4, i64 0}\\n!764 = !{!765, !765, i64 0}\\n!765 = !{!\"0x54215e0.w8.b0\", !766, i64 0}\\n!766 = !{!\"0x54215e0.w16.b0\", !767, i64 0}\\n!767 = !{!\"0x54215e0.w32.b0\", !768, i64 0}\\n!768 = !{!\"0x54215e0.w64.b0\", !769, i64 0}\\n!769 = !{!\"0x54215e0.w128.b0\", !770, i64 0}\\n!770 = !{!\"0x54215e0.w256.b0\", !771, i64 0}\\n!771 = !{!\"0x54215e0.w512.b0\", !772, i64 0}\\n!772 = !{!\"0x54215e0.w1024.b0\", !773, i64 0}\\n!773 = !{!\"float32\", !774, i64 0}\\n!774 = !{!\"0x54215e0\", !4, i64 0}\\n!775 = !{!776, !776, i64 0}\\n!776 = !{!\"float32\", !777, i64 0}\\n!777 = !{!\"0x5421090\", !4, i64 0}\\n!778 = !{!773, !773, i64 0}\\n!779 = !{!780, !780, i64 0}\\n!780 = !{!\"float32\", !781, i64 0}\\n!781 = !{!\"0x5420fa0\", !4, i64 0}\\n!782 = !{!783, !783, i64 0}\\n!783 = !{!\"float32\", !784, i64 0}\\n!784 = !{!\"0x5420ff0\", !4, i64 0}\\n!785 = !{!786, !786, i64 0}\\n!786 = !{!\"0x4d1b890.w1.b0\", !787, i64 0}\\n!787 = !{!\"0x4d1b890.w2.b0\", !788, i64 0}\\n!788 = !{!\"0x4d1b890.w4.b0\", !789, i64 0}\\n!789 = !{!\"0x4d1b890.w8.b0\", !790, i64 0}\\n!790 = !{!\"0x4d1b890.w16.b0\", !791, i64 0}\\n!791 = !{!\"0x4d1b890.w32.b0\", !792, i64 0}\\n!792 = !{!\"0x4d1b890.w64.b0\", !793, i64 0}\\n!793 = !{!\"0x4d1b890.w128.b0\", !794, i64 0}\\n!794 = !{!\"0x4d1b890.w256.b0\", !795, i64 0}\\n!795 = !{!\"0x4d1b890.w512.b0\", !796, i64 0}\\n!796 = !{!\"0x4d1b890.w1024.b0\", !797, i64 0}\\n!797 = !{!\"int32\", !798, i64 0}\\n!798 = !{!\"0x4d1b890\", !4, i64 0}\\n!799 = !{!800, !800, i64 0}\\n!800 = !{!\"0x4d1b890.w1.b1\", !787, i64 0}\\n!801 = !{!802, !802, i64 0}\\n!802 = !{!\"0x4d1b890.w1.b2\", !803, i64 0}\\n!803 = !{!\"0x4d1b890.w2.b2\", !788, i64 0}\\n!804 = !{!805, !805, i64 0}\\n!805 = !{!\"0x4d1b890.w1.b3\", !803, i64 0}\\n!806 = !{!807, !807, i64 0}\\n!807 = !{!\"0x53a5b80.w1.b0\", !808, i64 0}\\n!808 = !{!\"0x53a5b80.w2.b0\", !809, i64 0}\\n!809 = !{!\"0x53a5b80.w4.b0\", !810, i64 0}\\n!810 = !{!\"0x53a5b80.w8.b0\", !811, i64 0}\\n!811 = !{!\"0x53a5b80.w16.b0\", !812, i64 0}\\n!812 = !{!\"0x53a5b80.w32.b0\", !813, i64 0}\\n!813 = !{!\"0x53a5b80.w64.b0\", !814, i64 0}\\n!814 = !{!\"0x53a5b80.w128.b0\", !815, i64 0}\\n!815 = !{!\"0x53a5b80.w256.b0\", !816, i64 0}\\n!816 = !{!\"0x53a5b80.w512.b0\", !817, i64 0}\\n!817 = !{!\"0x53a5b80.w1024.b0\", !818, i64 0}\\n!818 = !{!\"int64\", !819, i64 0}\\n!819 = !{!\"0x53a5b80\", !4, i64 0}\\n!820 = !{!821, !821, i64 0}\\n!821 = !{!\"0x53a5b80.w1.b1\", !808, i64 0}\\n!822 = !{!823, !823, i64 0}\\n!823 = !{!\"0x53a5d10.w1.b0\", !824, i64 0}\\n!824 = !{!\"0x53a5d10.w2.b0\", !825, i64 0}\\n!825 = !{!\"0x53a5d10.w4.b0\", !826, i64 0}\\n!826 = !{!\"0x53a5d10.w8.b0\", !827, i64 0}\\n!827 = !{!\"0x53a5d10.w16.b0\", !828, i64 0}\\n!828 = !{!\"0x53a5d10.w32.b0\", !829, i64 0}\\n!829 = !{!\"0x53a5d10.w64.b0\", !830, i64 0}\\n!830 = !{!\"0x53a5d10.w128.b0\", !831, i64 0}\\n!831 = !{!\"0x53a5d10.w256.b0\", !832, i64 0}\\n!832 = !{!\"0x53a5d10.w512.b0\", !833, i64 0}\\n!833 = !{!\"0x53a5d10.w1024.b0\", !834, i64 0}\\n!834 = !{!\"int64\", !835, i64 0}\\n!835 = !{!\"0x53a5d10\", !4, i64 0}\\n!836 = !{!837, !837, i64 0}\\n!837 = !{!\"0x53a5d10.w1.b1\", !824, i64 0}\\n!838 = !{!839, !839, i64 0}\\n!839 = !{!\"0x53a6440.w1.b0\", !840, i64 0}\\n!840 = !{!\"0x53a6440.w2.b0\", !841, i64 0}\\n!841 = !{!\"0x53a6440.w4.b0\", !842, i64 0}\\n!842 = !{!\"0x53a6440.w8.b0\", !843, i64 0}\\n!843 = !{!\"0x53a6440.w16.b0\", !844, i64 0}\\n!844 = !{!\"0x53a6440.w32.b0\", !845, i64 0}\\n!845 = !{!\"0x53a6440.w64.b0\", !846, i64 0}\\n!846 = !{!\"0x53a6440.w128.b0\", !847, i64 0}\\n!847 = !{!\"0x53a6440.w256.b0\", !848, i64 0}\\n!848 = !{!\"0x53a6440.w512.b0\", !849, i64 0}\\n!849 = !{!\"0x53a6440.w1024.b0\", !850, i64 0}\\n!850 = !{!\"int64\", !851, i64 0}\\n!851 = !{!\"0x53a6440\", !4, i64 0}\\n!852 = !{!853, !853, i64 0}\\n!853 = !{!\"0x53a6440.w1.b1\", !840, i64 0}\\n!854 = !{!855, !855, i64 0}\\n!855 = !{!\"0x53a68a0.w1.b0\", !856, i64 0}\\n!856 = !{!\"0x53a68a0.w2.b0\", !857, i64 0}\\n!857 = !{!\"0x53a68a0.w4.b0\", !858, i64 0}\\n!858 = !{!\"0x53a68a0.w8.b0\", !859, i64 0}\\n!859 = !{!\"0x53a68a0.w16.b0\", !860, i64 0}\\n!860 = !{!\"0x53a68a0.w32.b0\", !861, i64 0}\\n!861 = !{!\"0x53a68a0.w64.b0\", !862, i64 0}\\n!862 = !{!\"0x53a68a0.w128.b0\", !863, i64 0}\\n!863 = !{!\"0x53a68a0.w256.b0\", !864, i64 0}\\n!864 = !{!\"0x53a68a0.w512.b0\", !865, i64 0}\\n!865 = !{!\"0x53a68a0.w1024.b0\", !866, i64 0}\\n!866 = !{!\"int64\", !867, i64 0}\\n!867 = !{!\"0x53a68a0\", !4, i64 0}\\n!868 = !{!869, !869, i64 0}\\n!869 = !{!\"0x53a68a0.w1.b1\", !856, i64 0}\\n!870 = !{!871, !871, i64 0}\\n!871 = !{!\"0x53a5950.w1.b0\", !872, i64 0}\\n!872 = !{!\"0x53a5950.w2.b0\", !873, i64 0}\\n!873 = !{!\"0x53a5950.w4.b0\", !874, i64 0}\\n!874 = !{!\"0x53a5950.w8.b0\", !875, i64 0}\\n!875 = !{!\"0x53a5950.w16.b0\", !876, i64 0}\\n!876 = !{!\"0x53a5950.w32.b0\", !877, i64 0}\\n!877 = !{!\"0x53a5950.w64.b0\", !878, i64 0}\\n!878 = !{!\"0x53a5950.w128.b0\", !879, i64 0}\\n!879 = !{!\"0x53a5950.w256.b0\", !880, i64 0}\\n!880 = !{!\"0x53a5950.w512.b0\", !881, i64 0}\\n!881 = !{!\"0x53a5950.w1024.b0\", !882, i64 0}\\n!882 = !{!\"int64\", !883, i64 0}\\n!883 = !{!\"0x53a5950\", !4, i64 0}\\n!884 = !{!885, !885, i64 0}\\n!885 = !{!\"0x53a5950.w1.b1\", !872, i64 0}\\n!886 = !{!887, !887, i64 0}\\n!887 = !{!\"0x53a5770.w1.b0\", !888, i64 0}\\n!888 = !{!\"0x53a5770.w2.b0\", !889, i64 0}\\n!889 = !{!\"0x53a5770.w4.b0\", !890, i64 0}\\n!890 = !{!\"0x53a5770.w8.b0\", !891, i64 0}\\n!891 = !{!\"0x53a5770.w16.b0\", !892, i64 0}\\n!892 = !{!\"0x53a5770.w32.b0\", !893, i64 0}\\n!893 = !{!\"0x53a5770.w64.b0\", !894, i64 0}\\n!894 = !{!\"0x53a5770.w128.b0\", !895, i64 0}\\n!895 = !{!\"0x53a5770.w256.b0\", !896, i64 0}\\n!896 = !{!\"0x53a5770.w512.b0\", !897, i64 0}\\n!897 = !{!\"0x53a5770.w1024.b0\", !898, i64 0}\\n!898 = !{!\"int64\", !899, i64 0}\\n!899 = !{!\"0x53a5770\", !4, i64 0}\\n!900 = !{!901, !901, i64 0}\\n!901 = !{!\"0x53a5770.w1.b1\", !888, i64 0}\\n!902 = !{!903, !903, i64 0}\\n!903 = !{!\"0x53a6350.w1.b0\", !904, i64 0}\\n!904 = !{!\"0x53a6350.w2.b0\", !905, i64 0}\\n!905 = !{!\"0x53a6350.w4.b0\", !906, i64 0}\\n!906 = !{!\"0x53a6350.w8.b0\", !907, i64 0}\\n!907 = !{!\"0x53a6350.w16.b0\", !908, i64 0}\\n!908 = !{!\"0x53a6350.w32.b0\", !909, i64 0}\\n!909 = !{!\"0x53a6350.w64.b0\", !910, i64 0}\\n!910 = !{!\"0x53a6350.w128.b0\", !911, i64 0}\\n!911 = !{!\"0x53a6350.w256.b0\", !912, i64 0}\\n!912 = !{!\"0x53a6350.w512.b0\", !913, i64 0}\\n!913 = !{!\"0x53a6350.w1024.b0\", !914, i64 0}\\n!914 = !{!\"int64\", !915, i64 0}\\n!915 = !{!\"0x53a6350\", !4, i64 0}\\n!916 = !{!917, !917, i64 0}\\n!917 = !{!\"0x53a6350.w1.b1\", !904, i64 0}\\n!918 = !{!919, !919, i64 0}\\n!919 = !{!\"0x53a67b0.w1.b0\", !920, i64 0}\\n!920 = !{!\"0x53a67b0.w2.b0\", !921, i64 0}\\n!921 = !{!\"0x53a67b0.w4.b0\", !922, i64 0}\\n!922 = !{!\"0x53a67b0.w8.b0\", !923, i64 0}\\n!923 = !{!\"0x53a67b0.w16.b0\", !924, i64 0}\\n!924 = !{!\"0x53a67b0.w32.b0\", !925, i64 0}\\n!925 = !{!\"0x53a67b0.w64.b0\", !926, i64 0}\\n!926 = !{!\"0x53a67b0.w128.b0\", !927, i64 0}\\n!927 = !{!\"0x53a67b0.w256.b0\", !928, i64 0}\\n!928 = !{!\"0x53a67b0.w512.b0\", !929, i64 0}\\n!929 = !{!\"0x53a67b0.w1024.b0\", !930, i64 0}\\n!930 = !{!\"int64\", !931, i64 0}\\n!931 = !{!\"0x53a67b0\", !4, i64 0}\\n!932 = !{!933, !933, i64 0}\\n!933 = !{!\"0x53a67b0.w1.b1\", !920, i64 0}\\n!934 = !{!935, !935, i64 0}\\n!935 = !{!\"float32\", !936, i64 0}\\n!936 = !{!\"0x4d1b700\", !4, i64 0}\\n!937 = !{!938, !938, i64 0}\\n!938 = !{!\"float32\", !939, i64 0}\\n!939 = !{!\"0x4d1b5c0\", !4, i64 0}\\n!940 = !{!941, !941, i64 0}\\n!941 = !{!\"float32\", !942, i64 0}\\n!942 = !{!\"0x4d1b750\", !4, i64 0}\\n!943 = !{!944, !944, i64 0}\\n!944 = !{!\"float32\", !945, i64 0}\\n!945 = !{!\"0x52f8e90\", !4, i64 0}\\n!946 = !{!947, !947, i64 0}\\n!947 = !{!\"float32\", !948, i64 0}\\n!948 = !{!\"0x515d270\", !4, i64 0}\\n!949 = !{!950, !950, i64 0}\\n!950 = !{!\"0x53f5090.w1.b0\", !951, i64 0}\\n!951 = !{!\"0x53f5090.w2.b0\", !952, i64 0}\\n!952 = !{!\"0x53f5090.w4.b0\", !953, i64 0}\\n!953 = !{!\"0x53f5090.w8.b0\", !954, i64 0}\\n!954 = !{!\"0x53f5090.w16.b0\", !955, i64 0}\\n!955 = !{!\"0x53f5090.w32.b0\", !956, i64 0}\\n!956 = !{!\"0x53f5090.w64.b0\", !957, i64 0}\\n!957 = !{!\"0x53f5090.w128.b0\", !958, i64 0}\\n!958 = !{!\"0x53f5090.w256.b0\", !959, i64 0}\\n!959 = !{!\"0x53f5090.w512.b0\", !960, i64 0}\\n!960 = !{!\"0x53f5090.w1024.b0\", !961, i64 0}\\n!961 = !{!\"int32\", !962, i64 0}\\n!962 = !{!\"0x53f5090\", !4, i64 0}\\n!963 = !{!964, !964, i64 0}\\n!964 = !{!\"0x53f5090.w1.b1\", !951, i64 0}\\n!965 = !{!966, !966, i64 0}\\n!966 = !{!\"0x53f50e0.w1.b0\", !967, i64 0}\\n!967 = !{!\"0x53f50e0.w2.b0\", !968, i64 0}\\n!968 = !{!\"0x53f50e0.w4.b0\", !969, i64 0}\\n!969 = !{!\"0x53f50e0.w8.b0\", !970, i64 0}\\n!970 = !{!\"0x53f50e0.w16.b0\", !971, i64 0}\\n!971 = !{!\"0x53f50e0.w32.b0\", !972, i64 0}\\n!972 = !{!\"0x53f50e0.w64.b0\", !973, i64 0}\\n!973 = !{!\"0x53f50e0.w128.b0\", !974, i64 0}\\n!974 = !{!\"0x53f50e0.w256.b0\", !975, i64 0}\\n!975 = !{!\"0x53f50e0.w512.b0\", !976, i64 0}\\n!976 = !{!\"0x53f50e0.w1024.b0\", !977, i64 0}\\n!977 = !{!\"int64\", !978, i64 0}\\n!978 = !{!\"0x53f50e0\", !4, i64 0}\\n!979 = !{!980, !980, i64 0}\\n!980 = !{!\"0x53f50e0.w1.b1\", !967, i64 0}\\n!981 = !{!982, !982, i64 0}\\n!982 = !{!\"0x53f50e0.w1.b2\", !983, i64 0}\\n!983 = !{!\"0x53f50e0.w2.b2\", !968, i64 0}\\n!984 = !{!985, !985, i64 0}\\n!985 = !{!\"0x53f50e0.w1.b3\", !983, i64 0}\\n!986 = !{!987, !987, i64 0}\\n!987 = !{!\"0x53f50e0.w1.b4\", !988, i64 0}\\n!988 = !{!\"0x53f50e0.w2.b4\", !989, i64 0}\\n!989 = !{!\"0x53f50e0.w4.b4\", !969, i64 0}\\n!990 = !{!991, !991, i64 0}\\n!991 = !{!\"0x53f5810.w1.b0\", !992, i64 0}\\n!992 = !{!\"0x53f5810.w2.b0\", !993, i64 0}\\n!993 = !{!\"0x53f5810.w4.b0\", !994, i64 0}\\n!994 = !{!\"0x53f5810.w8.b0\", !995, i64 0}\\n!995 = !{!\"0x53f5810.w16.b0\", !996, i64 0}\\n!996 = !{!\"0x53f5810.w32.b0\", !997, i64 0}\\n!997 = !{!\"0x53f5810.w64.b0\", !998, i64 0}\\n!998 = !{!\"0x53f5810.w128.b0\", !999, i64 0}\\n!999 = !{!\"0x53f5810.w256.b0\", !1000, i64 0}\\n!1000 = !{!\"0x53f5810.w512.b0\", !1001, i64 0}\\n!1001 = !{!\"0x53f5810.w1024.b0\", !1002, i64 0}\\n!1002 = !{!\"int64\", !1003, i64 0}\\n!1003 = !{!\"0x53f5810\", !4, i64 0}\\n!1004 = !{!1005, !1005, i64 0}\\n!1005 = !{!\"0x53f5810.w1.b1\", !992, i64 0}\\n!1006 = !{!1007, !1007, i64 0}\\n!1007 = !{!\"0x53f5810.w1.b2\", !1008, i64 0}\\n!1008 = !{!\"0x53f5810.w2.b2\", !993, i64 0}\\n!1009 = !{!1010, !1010, i64 0}\\n!1010 = !{!\"0x53f5810.w1.b3\", !1008, i64 0}\\n!1011 = !{!1012, !1012, i64 0}\\n!1012 = !{!\"0x53f5810.w1.b4\", !1013, i64 0}\\n!1013 = !{!\"0x53f5810.w2.b4\", !1014, i64 0}\\n!1014 = !{!\"0x53f5810.w4.b4\", !994, i64 0}\\n!1015 = !{!1016, !1016, i64 0}\\n!1016 = !{!\"0x53f5360.w1.b0\", !1017, i64 0}\\n!1017 = !{!\"0x53f5360.w2.b0\", !1018, i64 0}\\n!1018 = !{!\"0x53f5360.w4.b0\", !1019, i64 0}\\n!1019 = !{!\"0x53f5360.w8.b0\", !1020, i64 0}\\n!1020 = !{!\"0x53f5360.w16.b0\", !1021, i64 0}\\n!1021 = !{!\"0x53f5360.w32.b0\", !1022, i64 0}\\n!1022 = !{!\"0x53f5360.w64.b0\", !1023, i64 0}\\n!1023 = !{!\"0x53f5360.w128.b0\", !1024, i64 0}\\n!1024 = !{!\"0x53f5360.w256.b0\", !1025, i64 0}\\n!1025 = !{!\"0x53f5360.w512.b0\", !1026, i64 0}\\n!1026 = !{!\"0x53f5360.w1024.b0\", !1027, i64 0}\\n!1027 = !{!\"int64\", !1028, i64 0}\\n!1028 = !{!\"0x53f5360\", !4, i64 0}\\n!1029 = !{!1030, !1030, i64 0}\\n!1030 = !{!\"0x53f5360.w1.b1\", !1017, i64 0}\\n!1031 = !{!1032, !1032, i64 0}\\n!1032 = !{!\"0x53f5360.w1.b2\", !1033, i64 0}\\n!1033 = !{!\"0x53f5360.w2.b2\", !1018, i64 0}\\n!1034 = !{!1035, !1035, i64 0}\\n!1035 = !{!\"0x53f5360.w1.b3\", !1033, i64 0}\\n!1036 = !{!1037, !1037, i64 0}\\n!1037 = !{!\"0x53f5360.w1.b4\", !1038, i64 0}\\n!1038 = !{!\"0x53f5360.w2.b4\", !1039, i64 0}\\n!1039 = !{!\"0x53f5360.w4.b4\", !1019, i64 0}\\n!1040 = !{!1041, !1041, i64 0}\\n!1041 = !{!\"0x53f5630.w1.b0\", !1042, i64 0}\\n!1042 = !{!\"0x53f5630.w2.b0\", !1043, i64 0}\\n!1043 = !{!\"0x53f5630.w4.b0\", !1044, i64 0}\\n!1044 = !{!\"0x53f5630.w8.b0\", !1045, i64 0}\\n!1045 = !{!\"0x53f5630.w16.b0\", !1046, i64 0}\\n!1046 = !{!\"0x53f5630.w32.b0\", !1047, i64 0}\\n!1047 = !{!\"0x53f5630.w64.b0\", !1048, i64 0}\\n!1048 = !{!\"0x53f5630.w128.b0\", !1049, i64 0}\\n!1049 = !{!\"0x53f5630.w256.b0\", !1050, i64 0}\\n!1050 = !{!\"0x53f5630.w512.b0\", !1051, i64 0}\\n!1051 = !{!\"0x53f5630.w1024.b0\", !1052, i64 0}\\n!1052 = !{!\"int64\", !1053, i64 0}\\n!1053 = !{!\"0x53f5630\", !4, i64 0}\\n!1054 = !{!1055, !1055, i64 0}\\n!1055 = !{!\"0x53f5630.w1.b1\", !1042, i64 0}\\n!1056 = !{!1057, !1057, i64 0}\\n!1057 = !{!\"0x53f5630.w1.b2\", !1058, i64 0}\\n!1058 = !{!\"0x53f5630.w2.b2\", !1043, i64 0}\\n!1059 = !{!1060, !1060, i64 0}\\n!1060 = !{!\"0x53f5630.w1.b3\", !1058, i64 0}\\n!1061 = !{!1062, !1062, i64 0}\\n!1062 = !{!\"0x53f5630.w1.b4\", !1063, i64 0}\\n!1063 = !{!\"0x53f5630.w2.b4\", !1064, i64 0}\\n!1064 = !{!\"0x53f5630.w4.b4\", !1044, i64 0}\\n!1065 = !{!1066, !1066, i64 0}\\n!1066 = !{!\"float32\", !1067, i64 0}\\n!1067 = !{!\"0x53a73e0\", !4, i64 0}\\n!1068 = !{!1069, !1069, i64 0}\\n!1069 = !{!\"float32\", !1070, i64 0}\\n!1070 = !{!\"0x53f4410\", !4, i64 0}\\n!1071 = !{!1072, !1072, i64 0}\\n!1072 = !{!\"0x52f70e0.w1.b0\", !1073, i64 0}\\n!1073 = !{!\"0x52f70e0.w2.b0\", !1074, i64 0}\\n!1074 = !{!\"0x52f70e0.w4.b0\", !1075, i64 0}\\n!1075 = !{!\"0x52f70e0.w8.b0\", !1076, i64 0}\\n!1076 = !{!\"0x52f70e0.w16.b0\", !1077, i64 0}\\n!1077 = !{!\"0x52f70e0.w32.b0\", !1078, i64 0}\\n!1078 = !{!\"0x52f70e0.w64.b0\", !1079, i64 0}\\n!1079 = !{!\"0x52f70e0.w128.b0\", !1080, i64 0}\\n!1080 = !{!\"0x52f70e0.w256.b0\", !1081, i64 0}\\n!1081 = !{!\"0x52f70e0.w512.b0\", !1082, i64 0}\\n!1082 = !{!\"0x52f70e0.w1024.b0\", !1083, i64 0}\\n!1083 = !{!\"int32\", !1084, i64 0}\\n!1084 = !{!\"0x52f70e0\", !4, i64 0}\\n!1085 = !{!1086, !1086, i64 0}\\n!1086 = !{!\"0x52f70e0.w1.b1\", !1073, i64 0}\\n!1087 = !{!1088, !1088, i64 0}\\n!1088 = !{!\"0x52f77c0.w1.b0\", !1089, i64 0}\\n!1089 = !{!\"0x52f77c0.w2.b0\", !1090, i64 0}\\n!1090 = !{!\"0x52f77c0.w4.b0\", !1091, i64 0}\\n!1091 = !{!\"0x52f77c0.w8.b0\", !1092, i64 0}\\n!1092 = !{!\"0x52f77c0.w16.b0\", !1093, i64 0}\\n!1093 = !{!\"0x52f77c0.w32.b0\", !1094, i64 0}\\n!1094 = !{!\"0x52f77c0.w64.b0\", !1095, i64 0}\\n!1095 = !{!\"0x52f77c0.w128.b0\", !1096, i64 0}\\n!1096 = !{!\"0x52f77c0.w256.b0\", !1097, i64 0}\\n!1097 = !{!\"0x52f77c0.w512.b0\", !1098, i64 0}\\n!1098 = !{!\"0x52f77c0.w1024.b0\", !1099, i64 0}\\n!1099 = !{!\"int64\", !1100, i64 0}\\n!1100 = !{!\"0x52f77c0\", !4, i64 0}\\n!1101 = !{!1102, !1102, i64 0}\\n!1102 = !{!\"0x52f77c0.w1.b1\", !1089, i64 0}\\n!1103 = !{!1104, !1104, i64 0}\\n!1104 = !{!\"0x52f77c0.w1.b2\", !1105, i64 0}\\n!1105 = !{!\"0x52f77c0.w2.b2\", !1090, i64 0}\\n!1106 = !{!1107, !1107, i64 0}\\n!1107 = !{!\"0x52f7c20.w1.b0\", !1108, i64 0}\\n!1108 = !{!\"0x52f7c20.w2.b0\", !1109, i64 0}\\n!1109 = !{!\"0x52f7c20.w4.b0\", !1110, i64 0}\\n!1110 = !{!\"0x52f7c20.w8.b0\", !1111, i64 0}\\n!1111 = !{!\"0x52f7c20.w16.b0\", !1112, i64 0}\\n!1112 = !{!\"0x52f7c20.w32.b0\", !1113, i64 0}\\n!1113 = !{!\"0x52f7c20.w64.b0\", !1114, i64 0}\\n!1114 = !{!\"0x52f7c20.w128.b0\", !1115, i64 0}\\n!1115 = !{!\"0x52f7c20.w256.b0\", !1116, i64 0}\\n!1116 = !{!\"0x52f7c20.w512.b0\", !1117, i64 0}\\n!1117 = !{!\"0x52f7c20.w1024.b0\", !1118, i64 0}\\n!1118 = !{!\"int64\", !1119, i64 0}\\n!1119 = !{!\"0x52f7c20\", !4, i64 0}\\n!1120 = !{!1121, !1121, i64 0}\\n!1121 = !{!\"0x52f7c20.w1.b1\", !1108, i64 0}\\n!1122 = !{!1123, !1123, i64 0}\\n!1123 = !{!\"0x52f7c20.w1.b2\", !1124, i64 0}\\n!1124 = !{!\"0x52f7c20.w2.b2\", !1109, i64 0}\\n!1125 = !{!1126, !1126, i64 0}\\n!1126 = !{!\"0x52f7c20.w1.b3\", !1124, i64 0}\\n!1127 = !{!1128, !1128, i64 0}\\n!1128 = !{!\"0x52f7090.w1.b0\", !1129, i64 0}\\n!1129 = !{!\"0x52f7090.w2.b0\", !1130, i64 0}\\n!1130 = !{!\"0x52f7090.w4.b0\", !1131, i64 0}\\n!1131 = !{!\"0x52f7090.w8.b0\", !1132, i64 0}\\n!1132 = !{!\"0x52f7090.w16.b0\", !1133, i64 0}\\n!1133 = !{!\"0x52f7090.w32.b0\", !1134, i64 0}\\n!1134 = !{!\"0x52f7090.w64.b0\", !1135, i64 0}\\n!1135 = !{!\"0x52f7090.w128.b0\", !1136, i64 0}\\n!1136 = !{!\"0x52f7090.w256.b0\", !1137, i64 0}\\n!1137 = !{!\"0x52f7090.w512.b0\", !1138, i64 0}\\n!1138 = !{!\"0x52f7090.w1024.b0\", !1139, i64 0}\\n!1139 = !{!\"int64\", !1140, i64 0}\\n!1140 = !{!\"0x52f7090\", !4, i64 0}\\n!1141 = !{!1142, !1142, i64 0}\\n!1142 = !{!\"0x52f7090.w1.b1\", !1129, i64 0}\\n!1143 = !{!1144, !1144, i64 0}\\n!1144 = !{!\"0x52f7090.w1.b2\", !1145, i64 0}\\n!1145 = !{!\"0x52f7090.w2.b2\", !1130, i64 0}\\n!1146 = !{!1147, !1147, i64 0}\\n!1147 = !{!\"0x52f7a90.w1.b0\", !1148, i64 0}\\n!1148 = !{!\"0x52f7a90.w2.b0\", !1149, i64 0}\\n!1149 = !{!\"0x52f7a90.w4.b0\", !1150, i64 0}\\n!1150 = !{!\"0x52f7a90.w8.b0\", !1151, i64 0}\\n!1151 = !{!\"0x52f7a90.w16.b0\", !1152, i64 0}\\n!1152 = !{!\"0x52f7a90.w32.b0\", !1153, i64 0}\\n!1153 = !{!\"0x52f7a90.w64.b0\", !1154, i64 0}\\n!1154 = !{!\"0x52f7a90.w128.b0\", !1155, i64 0}\\n!1155 = !{!\"0x52f7a90.w256.b0\", !1156, i64 0}\\n!1156 = !{!\"0x52f7a90.w512.b0\", !1157, i64 0}\\n!1157 = !{!\"0x52f7a90.w1024.b0\", !1158, i64 0}\\n!1158 = !{!\"int64\", !1159, i64 0}\\n!1159 = !{!\"0x52f7a90\", !4, i64 0}\\n!1160 = !{!1161, !1161, i64 0}\\n!1161 = !{!\"0x52f7a90.w1.b1\", !1148, i64 0}\\n!1162 = !{!1163, !1163, i64 0}\\n!1163 = !{!\"0x52f7a90.w1.b2\", !1164, i64 0}\\n!1164 = !{!\"0x52f7a90.w2.b2\", !1149, i64 0}\\n!1165 = !{!1166, !1166, i64 0}\\n!1166 = !{!\"0x52f7a90.w1.b3\", !1164, i64 0}\\n!1167 = !{!1168, !1168, i64 0}\\n!1168 = !{!\"float32\", !1169, i64 0}\\n!1169 = !{!\"0x52f73b0\", !4, i64 0}\\n!1170 = !{!1171, !1171, i64 0}\\n!1171 = !{!\"float32\", !1172, i64 0}\\n!1172 = !{!\"0x5297090\", !4, i64 0}\\n!1173 = !{!1174, !1174, i64 0}\\n!1174 = !{!\"0x54041e0.w1.b0\", !1175, i64 0}\\n!1175 = !{!\"0x54041e0.w2.b0\", !1176, i64 0}\\n!1176 = !{!\"0x54041e0.w4.b0\", !1177, i64 0}\\n!1177 = !{!\"0x54041e0.w8.b0\", !1178, i64 0}\\n!1178 = !{!\"0x54041e0.w16.b0\", !1179, i64 0}\\n!1179 = !{!\"0x54041e0.w32.b0\", !1180, i64 0}\\n!1180 = !{!\"0x54041e0.w64.b0\", !1181, i64 0}\\n!1181 = !{!\"0x54041e0.w128.b0\", !1182, i64 0}\\n!1182 = !{!\"0x54041e0.w256.b0\", !1183, i64 0}\\n!1183 = !{!\"0x54041e0.w512.b0\", !1184, i64 0}\\n!1184 = !{!\"0x54041e0.w1024.b0\", !1185, i64 0}\\n!1185 = !{!\"int32\", !1186, i64 0}\\n!1186 = !{!\"0x54041e0\", !4, i64 0}\\n!1187 = !{!1188, !1188, i64 0}\\n!1188 = !{!\"0x54041e0.w1.b1\", !1175, i64 0}\\n!1189 = !{!1190, !1190, i64 0}\\n!1190 = !{!\"0x54041e0.w1.b2\", !1191, i64 0}\\n!1191 = !{!\"0x54041e0.w2.b2\", !1176, i64 0}\\n!1192 = !{!1193, !1193, i64 0}\\n!1193 = !{!\"0x54041e0.w1.b3\", !1191, i64 0}\\n!1194 = !{!1195, !1195, i64 0}\\n!1195 = !{!\"0x53f7d40.w1.b0\", !1196, i64 0}\\n!1196 = !{!\"0x53f7d40.w2.b0\", !1197, i64 0}\\n!1197 = !{!\"0x53f7d40.w4.b0\", !1198, i64 0}\\n!1198 = !{!\"0x53f7d40.w8.b0\", !1199, i64 0}\\n!1199 = !{!\"0x53f7d40.w16.b0\", !1200, i64 0}\\n!1200 = !{!\"0x53f7d40.w32.b0\", !1201, i64 0}\\n!1201 = !{!\"0x53f7d40.w64.b0\", !1202, i64 0}\\n!1202 = !{!\"0x53f7d40.w128.b0\", !1203, i64 0}\\n!1203 = !{!\"0x53f7d40.w256.b0\", !1204, i64 0}\\n!1204 = !{!\"0x53f7d40.w512.b0\", !1205, i64 0}\\n!1205 = !{!\"0x53f7d40.w1024.b0\", !1206, i64 0}\\n!1206 = !{!\"int64\", !1207, i64 0}\\n!1207 = !{!\"0x53f7d40\", !4, i64 0}\\n!1208 = !{!1209, !1209, i64 0}\\n!1209 = !{!\"0x53f7d40.w1.b1\", !1196, i64 0}\\n!1210 = !{!1211, !1211, i64 0}\\n!1211 = !{!\"0x53f7d40.w1.b2\", !1212, i64 0}\\n!1212 = !{!\"0x53f7d40.w2.b2\", !1197, i64 0}\\n!1213 = !{!1214, !1214, i64 0}\\n!1214 = !{!\"0x53f7d40.w1.b3\", !1212, i64 0}\\n!1215 = !{!1216, !1216, i64 0}\\n!1216 = !{!\"0x53f7d40.w1.b4\", !1217, i64 0}\\n!1217 = !{!\"0x53f7d40.w2.b4\", !1218, i64 0}\\n!1218 = !{!\"0x53f7d40.w4.b4\", !1198, i64 0}\\n!1219 = !{!1220, !1220, i64 0}\\n!1220 = !{!\"0x5405130.w1.b0\", !1221, i64 0}\\n!1221 = !{!\"0x5405130.w2.b0\", !1222, i64 0}\\n!1222 = !{!\"0x5405130.w4.b0\", !1223, i64 0}\\n!1223 = !{!\"0x5405130.w8.b0\", !1224, i64 0}\\n!1224 = !{!\"0x5405130.w16.b0\", !1225, i64 0}\\n!1225 = !{!\"0x5405130.w32.b0\", !1226, i64 0}\\n!1226 = !{!\"0x5405130.w64.b0\", !1227, i64 0}\\n!1227 = !{!\"0x5405130.w128.b0\", !1228, i64 0}\\n!1228 = !{!\"0x5405130.w256.b0\", !1229, i64 0}\\n!1229 = !{!\"0x5405130.w512.b0\", !1230, i64 0}\\n!1230 = !{!\"0x5405130.w1024.b0\", !1231, i64 0}\\n!1231 = !{!\"int64\", !1232, i64 0}\\n!1232 = !{!\"0x5405130\", !4, i64 0}\\n!1233 = !{!1234, !1234, i64 0}\\n!1234 = !{!\"0x5405130.w1.b1\", !1221, i64 0}\\n!1235 = !{!1236, !1236, i64 0}\\n!1236 = !{!\"0x5405130.w1.b2\", !1237, i64 0}\\n!1237 = !{!\"0x5405130.w2.b2\", !1222, i64 0}\\n!1238 = !{!1239, !1239, i64 0}\\n!1239 = !{!\"0x5405130.w1.b3\", !1237, i64 0}\\n!1240 = !{!1241, !1241, i64 0}\\n!1241 = !{!\"0x5405130.w1.b4\", !1242, i64 0}\\n!1242 = !{!\"0x5405130.w2.b4\", !1243, i64 0}\\n!1243 = !{!\"0x5405130.w4.b4\", !1223, i64 0}\\n!1244 = !{!1245, !1245, i64 0}\\n!1245 = !{!\"0x5405130.w1.b5\", !1242, i64 0}\\n!1246 = !{!1247, !1247, i64 0}\\n!1247 = !{!\"0x5404dc0.w1.b0\", !1248, i64 0}\\n!1248 = !{!\"0x5404dc0.w2.b0\", !1249, i64 0}\\n!1249 = !{!\"0x5404dc0.w4.b0\", !1250, i64 0}\\n!1250 = !{!\"0x5404dc0.w8.b0\", !1251, i64 0}\\n!1251 = !{!\"0x5404dc0.w16.b0\", !1252, i64 0}\\n!1252 = !{!\"0x5404dc0.w32.b0\", !1253, i64 0}\\n!1253 = !{!\"0x5404dc0.w64.b0\", !1254, i64 0}\\n!1254 = !{!\"0x5404dc0.w128.b0\", !1255, i64 0}\\n!1255 = !{!\"0x5404dc0.w256.b0\", !1256, i64 0}\\n!1256 = !{!\"0x5404dc0.w512.b0\", !1257, i64 0}\\n!1257 = !{!\"0x5404dc0.w1024.b0\", !1258, i64 0}\\n!1258 = !{!\"int64\", !1259, i64 0}\\n!1259 = !{!\"0x5404dc0\", !4, i64 0}\\n!1260 = !{!1261, !1261, i64 0}\\n!1261 = !{!\"0x5404dc0.w1.b1\", !1248, i64 0}\\n!1262 = !{!1263, !1263, i64 0}\\n!1263 = !{!\"0x5404dc0.w1.b2\", !1264, i64 0}\\n!1264 = !{!\"0x5404dc0.w2.b2\", !1249, i64 0}\\n!1265 = !{!1266, !1266, i64 0}\\n!1266 = !{!\"0x5404dc0.w1.b3\", !1264, i64 0}\\n!1267 = !{!1268, !1268, i64 0}\\n!1268 = !{!\"0x5405450.w1.b0\", !1269, i64 0}\\n!1269 = !{!\"0x5405450.w2.b0\", !1270, i64 0}\\n!1270 = !{!\"0x5405450.w4.b0\", !1271, i64 0}\\n!1271 = !{!\"0x5405450.w8.b0\", !1272, i64 0}\\n!1272 = !{!\"0x5405450.w16.b0\", !1273, i64 0}\\n!1273 = !{!\"0x5405450.w32.b0\", !1274, i64 0}\\n!1274 = !{!\"0x5405450.w64.b0\", !1275, i64 0}\\n!1275 = !{!\"0x5405450.w128.b0\", !1276, i64 0}\\n!1276 = !{!\"0x5405450.w256.b0\", !1277, i64 0}\\n!1277 = !{!\"0x5405450.w512.b0\", !1278, i64 0}\\n!1278 = !{!\"0x5405450.w1024.b0\", !1279, i64 0}\\n!1279 = !{!\"int64\", !1280, i64 0}\\n!1280 = !{!\"0x5405450\", !4, i64 0}\\n!1281 = !{!1282, !1282, i64 0}\\n!1282 = !{!\"0x5405450.w1.b1\", !1269, i64 0}\\n!1283 = !{!1284, !1284, i64 0}\\n!1284 = !{!\"0x5405450.w1.b2\", !1285, i64 0}\\n!1285 = !{!\"0x5405450.w2.b2\", !1270, i64 0}\\n!1286 = !{!1287, !1287, i64 0}\\n!1287 = !{!\"0x5405450.w1.b3\", !1285, i64 0}\\n!1288 = !{!1289, !1289, i64 0}\\n!1289 = !{!\"0x5405450.w1.b4\", !1290, i64 0}\\n!1290 = !{!\"0x5405450.w2.b4\", !1291, i64 0}\\n!1291 = !{!\"0x5405450.w4.b4\", !1271, i64 0}\\n!1292 = !{!1293, !1293, i64 0}\\n!1293 = !{!\"0x5404500.w1.b0\", !1294, i64 0}\\n!1294 = !{!\"0x5404500.w2.b0\", !1295, i64 0}\\n!1295 = !{!\"0x5404500.w4.b0\", !1296, i64 0}\\n!1296 = !{!\"0x5404500.w8.b0\", !1297, i64 0}\\n!1297 = !{!\"0x5404500.w16.b0\", !1298, i64 0}\\n!1298 = !{!\"0x5404500.w32.b0\", !1299, i64 0}\\n!1299 = !{!\"0x5404500.w64.b0\", !1300, i64 0}\\n!1300 = !{!\"0x5404500.w128.b0\", !1301, i64 0}\\n!1301 = !{!\"0x5404500.w256.b0\", !1302, i64 0}\\n!1302 = !{!\"0x5404500.w512.b0\", !1303, i64 0}\\n!1303 = !{!\"0x5404500.w1024.b0\", !1304, i64 0}\\n!1304 = !{!\"int64\", !1305, i64 0}\\n!1305 = !{!\"0x5404500\", !4, i64 0}\\n!1306 = !{!1307, !1307, i64 0}\\n!1307 = !{!\"0x5404500.w1.b1\", !1294, i64 0}\\n!1308 = !{!1309, !1309, i64 0}\\n!1309 = !{!\"0x5404500.w1.b2\", !1310, i64 0}\\n!1310 = !{!\"0x5404500.w2.b2\", !1295, i64 0}\\n!1311 = !{!1312, !1312, i64 0}\\n!1312 = !{!\"0x5404500.w1.b3\", !1310, i64 0}\\n!1313 = !{!1314, !1314, i64 0}\\n!1314 = !{!\"0x5404500.w1.b4\", !1315, i64 0}\\n!1315 = !{!\"0x5404500.w2.b4\", !1316, i64 0}\\n!1316 = !{!\"0x5404500.w4.b4\", !1296, i64 0}\\n!1317 = !{!1318, !1318, i64 0}\\n!1318 = !{!\"0x5404690.w1.b0\", !1319, i64 0}\\n!1319 = !{!\"0x5404690.w2.b0\", !1320, i64 0}\\n!1320 = !{!\"0x5404690.w4.b0\", !1321, i64 0}\\n!1321 = !{!\"0x5404690.w8.b0\", !1322, i64 0}\\n!1322 = !{!\"0x5404690.w16.b0\", !1323, i64 0}\\n!1323 = !{!\"0x5404690.w32.b0\", !1324, i64 0}\\n!1324 = !{!\"0x5404690.w64.b0\", !1325, i64 0}\\n!1325 = !{!\"0x5404690.w128.b0\", !1326, i64 0}\\n!1326 = !{!\"0x5404690.w256.b0\", !1327, i64 0}\\n!1327 = !{!\"0x5404690.w512.b0\", !1328, i64 0}\\n!1328 = !{!\"0x5404690.w1024.b0\", !1329, i64 0}\\n!1329 = !{!\"int64\", !1330, i64 0}\\n!1330 = !{!\"0x5404690\", !4, i64 0}\\n!1331 = !{!1332, !1332, i64 0}\\n!1332 = !{!\"0x5404690.w1.b1\", !1319, i64 0}\\n!1333 = !{!1334, !1334, i64 0}\\n!1334 = !{!\"0x5404690.w1.b2\", !1335, i64 0}\\n!1335 = !{!\"0x5404690.w2.b2\", !1320, i64 0}\\n!1336 = !{!1337, !1337, i64 0}\\n!1337 = !{!\"0x5404690.w1.b3\", !1335, i64 0}\\n!1338 = !{!1339, !1339, i64 0}\\n!1339 = !{!\"0x5404690.w1.b4\", !1340, i64 0}\\n!1340 = !{!\"0x5404690.w2.b4\", !1341, i64 0}\\n!1341 = !{!\"0x5404690.w4.b4\", !1321, i64 0}\\n!1342 = !{!1343, !1343, i64 0}\\n!1343 = !{!\"0x5404690.w1.b5\", !1340, i64 0}\\n!1344 = !{!1345, !1345, i64 0}\\n!1345 = !{!\"0x5404640.w1.b0\", !1346, i64 0}\\n!1346 = !{!\"0x5404640.w2.b0\", !1347, i64 0}\\n!1347 = !{!\"0x5404640.w4.b0\", !1348, i64 0}\\n!1348 = !{!\"0x5404640.w8.b0\", !1349, i64 0}\\n!1349 = !{!\"0x5404640.w16.b0\", !1350, i64 0}\\n!1350 = !{!\"0x5404640.w32.b0\", !1351, i64 0}\\n!1351 = !{!\"0x5404640.w64.b0\", !1352, i64 0}\\n!1352 = !{!\"0x5404640.w128.b0\", !1353, i64 0}\\n!1353 = !{!\"0x5404640.w256.b0\", !1354, i64 0}\\n!1354 = !{!\"0x5404640.w512.b0\", !1355, i64 0}\\n!1355 = !{!\"0x5404640.w1024.b0\", !1356, i64 0}\\n!1356 = !{!\"int64\", !1357, i64 0}\\n!1357 = !{!\"0x5404640\", !4, i64 0}\\n!1358 = !{!1359, !1359, i64 0}\\n!1359 = !{!\"0x5404640.w1.b1\", !1346, i64 0}\\n!1360 = !{!1361, !1361, i64 0}\\n!1361 = !{!\"0x5404640.w1.b2\", !1362, i64 0}\\n!1362 = !{!\"0x5404640.w2.b2\", !1347, i64 0}\\n!1363 = !{!1364, !1364, i64 0}\\n!1364 = !{!\"0x5404640.w1.b3\", !1362, i64 0}\\n!1365 = !{!1366, !1366, i64 0}\\n!1366 = !{!\"0x5405270.w1.b0\", !1367, i64 0}\\n!1367 = !{!\"0x5405270.w2.b0\", !1368, i64 0}\\n!1368 = !{!\"0x5405270.w4.b0\", !1369, i64 0}\\n!1369 = !{!\"0x5405270.w8.b0\", !1370, i64 0}\\n!1370 = !{!\"0x5405270.w16.b0\", !1371, i64 0}\\n!1371 = !{!\"0x5405270.w32.b0\", !1372, i64 0}\\n!1372 = !{!\"0x5405270.w64.b0\", !1373, i64 0}\\n!1373 = !{!\"0x5405270.w128.b0\", !1374, i64 0}\\n!1374 = !{!\"0x5405270.w256.b0\", !1375, i64 0}\\n!1375 = !{!\"0x5405270.w512.b0\", !1376, i64 0}\\n!1376 = !{!\"0x5405270.w1024.b0\", !1377, i64 0}\\n!1377 = !{!\"int64\", !1378, i64 0}\\n!1378 = !{!\"0x5405270\", !4, i64 0}\\n!1379 = !{!1380, !1380, i64 0}\\n!1380 = !{!\"0x5405270.w1.b1\", !1367, i64 0}\\n!1381 = !{!1382, !1382, i64 0}\\n!1382 = !{!\"0x5405270.w1.b2\", !1383, i64 0}\\n!1383 = !{!\"0x5405270.w2.b2\", !1368, i64 0}\\n!1384 = !{!1385, !1385, i64 0}\\n!1385 = !{!\"0x5405270.w1.b3\", !1383, i64 0}\\n!1386 = !{!1387, !1387, i64 0}\\n!1387 = !{!\"0x5405270.w1.b4\", !1388, i64 0}\\n!1388 = !{!\"0x5405270.w2.b4\", !1389, i64 0}\\n!1389 = !{!\"0x5405270.w4.b4\", !1369, i64 0}\\n!1390 = !{!1391, !1391, i64 0}\\n!1391 = !{!\"float32\", !1392, i64 0}\\n!1392 = !{!\"0x53f7b60\", !4, i64 0}\\n!1393 = !{!1394, !1394, i64 0}\\n!1394 = !{!\"float32\", !1395, i64 0}\\n!1395 = !{!\"0x53f7bb0\", !4, i64 0}\\n!1396 = !{!1397, !1397, i64 0}\\n!1397 = !{!\"float32\", !1398, i64 0}\\n!1398 = !{!\"0x53f7ac0\", !4, i64 0}\\n!1399 = !{!1400, !1400, i64 0}\\n!1400 = !{!\"float32\", !1401, i64 0}\\n!1401 = !{!\"0x53f7b10\", !4, i64 0}\\n!1402 = !{!1403, !1403, i64 0}\\n!1403 = !{!\"0x4d19220.w1.b0\", !1404, i64 0}\\n!1404 = !{!\"0x4d19220.w2.b0\", !1405, i64 0}\\n!1405 = !{!\"0x4d19220.w4.b0\", !1406, i64 0}\\n!1406 = !{!\"0x4d19220.w8.b0\", !1407, i64 0}\\n!1407 = !{!\"0x4d19220.w16.b0\", !1408, i64 0}\\n!1408 = !{!\"0x4d19220.w32.b0\", !1409, i64 0}\\n!1409 = !{!\"0x4d19220.w64.b0\", !1410, i64 0}\\n!1410 = !{!\"0x4d19220.w128.b0\", !1411, i64 0}\\n!1411 = !{!\"0x4d19220.w256.b0\", !1412, i64 0}\\n!1412 = !{!\"0x4d19220.w512.b0\", !1413, i64 0}\\n!1413 = !{!\"0x4d19220.w1024.b0\", !1414, i64 0}\\n!1414 = !{!\"int32\", !1415, i64 0}\\n!1415 = !{!\"0x4d19220\", !4, i64 0}\\n!1416 = !{!1417, !1417, i64 0}\\n!1417 = !{!\"0x4d19220.w1.b1\", !1404, i64 0}\\n!1418 = !{!1419, !1419, i64 0}\\n!1419 = !{!\"0x4d18c80.w1.b0\", !1420, i64 0}\\n!1420 = !{!\"0x4d18c80.w2.b0\", !1421, i64 0}\\n!1421 = !{!\"0x4d18c80.w4.b0\", !1422, i64 0}\\n!1422 = !{!\"0x4d18c80.w8.b0\", !1423, i64 0}\\n!1423 = !{!\"0x4d18c80.w16.b0\", !1424, i64 0}\\n!1424 = !{!\"0x4d18c80.w32.b0\", !1425, i64 0}\\n!1425 = !{!\"0x4d18c80.w64.b0\", !1426, i64 0}\\n!1426 = !{!\"0x4d18c80.w128.b0\", !1427, i64 0}\\n!1427 = !{!\"0x4d18c80.w256.b0\", !1428, i64 0}\\n!1428 = !{!\"0x4d18c80.w512.b0\", !1429, i64 0}\\n!1429 = !{!\"0x4d18c80.w1024.b0\", !1430, i64 0}\\n!1430 = !{!\"int64\", !1431, i64 0}\\n!1431 = !{!\"0x4d18c80\", !4, i64 0}\\n!1432 = !{!1433, !1433, i64 0}\\n!1433 = !{!\"0x4d18c80.w1.b1\", !1420, i64 0}\\n!1434 = !{!1435, !1435, i64 0}\\n!1435 = !{!\"0x4d18c80.w1.b2\", !1436, i64 0}\\n!1436 = !{!\"0x4d18c80.w2.b2\", !1421, i64 0}\\n!1437 = !{!1438, !1438, i64 0}\\n!1438 = !{!\"0x4d18c80.w1.b3\", !1436, i64 0}\\n!1439 = !{!1440, !1440, i64 0}\\n!1440 = !{!\"0x4d188c0.w1.b0\", !1441, i64 0}\\n!1441 = !{!\"0x4d188c0.w2.b0\", !1442, i64 0}\\n!1442 = !{!\"0x4d188c0.w4.b0\", !1443, i64 0}\\n!1443 = !{!\"0x4d188c0.w8.b0\", !1444, i64 0}\\n!1444 = !{!\"0x4d188c0.w16.b0\", !1445, i64 0}\\n!1445 = !{!\"0x4d188c0.w32.b0\", !1446, i64 0}\\n!1446 = !{!\"0x4d188c0.w64.b0\", !1447, i64 0}\\n!1447 = !{!\"0x4d188c0.w128.b0\", !1448, i64 0}\\n!1448 = !{!\"0x4d188c0.w256.b0\", !1449, i64 0}\\n!1449 = !{!\"0x4d188c0.w512.b0\", !1450, i64 0}\\n!1450 = !{!\"0x4d188c0.w1024.b0\", !1451, i64 0}\\n!1451 = !{!\"int64\", !1452, i64 0}\\n!1452 = !{!\"0x4d188c0\", !4, i64 0}\\n!1453 = !{!1454, !1454, i64 0}\\n!1454 = !{!\"0x4d188c0.w1.b1\", !1441, i64 0}\\n!1455 = !{!1456, !1456, i64 0}\\n!1456 = !{!\"0x4d188c0.w1.b2\", !1457, i64 0}\\n!1457 = !{!\"0x4d188c0.w2.b2\", !1442, i64 0}\\n!1458 = !{!1459, !1459, i64 0}\\n!1459 = !{!\"0x4d188c0.w1.b3\", !1457, i64 0}\\n!1460 = !{!1461, !1461, i64 0}\\n!1461 = !{!\"0x4d188c0.w1.b4\", !1462, i64 0}\\n!1462 = !{!\"0x4d188c0.w2.b4\", !1463, i64 0}\\n!1463 = !{!\"0x4d188c0.w4.b4\", !1443, i64 0}\\n!1464 = !{!1465, !1465, i64 0}\\n!1465 = !{!\"0x4d188c0.w1.b5\", !1462, i64 0}\\n!1466 = !{!1467, !1467, i64 0}\\n!1467 = !{!\"0x4d19180.w1.b0\", !1468, i64 0}\\n!1468 = !{!\"0x4d19180.w2.b0\", !1469, i64 0}\\n!1469 = !{!\"0x4d19180.w4.b0\", !1470, i64 0}\\n!1470 = !{!\"0x4d19180.w8.b0\", !1471, i64 0}\\n!1471 = !{!\"0x4d19180.w16.b0\", !1472, i64 0}\\n!1472 = !{!\"0x4d19180.w32.b0\", !1473, i64 0}\\n!1473 = !{!\"0x4d19180.w64.b0\", !1474, i64 0}\\n!1474 = !{!\"0x4d19180.w128.b0\", !1475, i64 0}\\n!1475 = !{!\"0x4d19180.w256.b0\", !1476, i64 0}\\n!1476 = !{!\"0x4d19180.w512.b0\", !1477, i64 0}\\n!1477 = !{!\"0x4d19180.w1024.b0\", !1478, i64 0}\\n!1478 = !{!\"int64\", !1479, i64 0}\\n!1479 = !{!\"0x4d19180\", !4, i64 0}\\n!1480 = !{!1481, !1481, i64 0}\\n!1481 = !{!\"0x4d19180.w1.b1\", !1468, i64 0}\\n!1482 = !{!1483, !1483, i64 0}\\n!1483 = !{!\"0x4d19180.w1.b2\", !1484, i64 0}\\n!1484 = !{!\"0x4d19180.w2.b2\", !1469, i64 0}\\n!1485 = !{!1486, !1486, i64 0}\\n!1486 = !{!\"0x4d19180.w1.b3\", !1484, i64 0}\\n!1487 = !{!1488, !1488, i64 0}\\n!1488 = !{!\"0x4d189b0.w1.b0\", !1489, i64 0}\\n!1489 = !{!\"0x4d189b0.w2.b0\", !1490, i64 0}\\n!1490 = !{!\"0x4d189b0.w4.b0\", !1491, i64 0}\\n!1491 = !{!\"0x4d189b0.w8.b0\", !1492, i64 0}\\n!1492 = !{!\"0x4d189b0.w16.b0\", !1493, i64 0}\\n!1493 = !{!\"0x4d189b0.w32.b0\", !1494, i64 0}\\n!1494 = !{!\"0x4d189b0.w64.b0\", !1495, i64 0}\\n!1495 = !{!\"0x4d189b0.w128.b0\", !1496, i64 0}\\n!1496 = !{!\"0x4d189b0.w256.b0\", !1497, i64 0}\\n!1497 = !{!\"0x4d189b0.w512.b0\", !1498, i64 0}\\n!1498 = !{!\"0x4d189b0.w1024.b0\", !1499, i64 0}\\n!1499 = !{!\"int64\", !1500, i64 0}\\n!1500 = !{!\"0x4d189b0\", !4, i64 0}\\n!1501 = !{!1502, !1502, i64 0}\\n!1502 = !{!\"0x4d189b0.w1.b1\", !1489, i64 0}\\n!1503 = !{!1504, !1504, i64 0}\\n!1504 = !{!\"0x4d189b0.w1.b2\", !1505, i64 0}\\n!1505 = !{!\"0x4d189b0.w2.b2\", !1490, i64 0}\\n!1506 = !{!1507, !1507, i64 0}\\n!1507 = !{!\"0x4d189b0.w1.b3\", !1505, i64 0}\\n!1508 = !{!1509, !1509, i64 0}\\n!1509 = !{!\"0x4d189b0.w1.b4\", !1510, i64 0}\\n!1510 = !{!\"0x4d189b0.w2.b4\", !1511, i64 0}\\n!1511 = !{!\"0x4d189b0.w4.b4\", !1491, i64 0}\\n!1512 = !{!1513, !1513, i64 0}\\n!1513 = !{!\"0x4d189b0.w1.b5\", !1510, i64 0}\\n!1514 = !{!1515, !1515, i64 0}\\n!1515 = !{!\"float32\", !1516, i64 0}\\n!1516 = !{!\"0x4d185a0\", !4, i64 0}\\n!1517 = !{!1518, !1518, i64 0}\\n!1518 = !{!\"float32\", !1519, i64 0}\\n!1519 = !{!\"0x4d18550\", !4, i64 0}\\n!1520 = !{!1521, !1521, i64 0}\\n!1521 = !{!\"0x5406620.w1.b0\", !1522, i64 0}\\n!1522 = !{!\"0x5406620.w2.b0\", !1523, i64 0}\\n!1523 = !{!\"0x5406620.w4.b0\", !1524, i64 0}\\n!1524 = !{!\"0x5406620.w8.b0\", !1525, i64 0}\\n!1525 = !{!\"0x5406620.w16.b0\", !1526, i64 0}\\n!1526 = !{!\"0x5406620.w32.b0\", !1527, i64 0}\\n!1527 = !{!\"0x5406620.w64.b0\", !1528, i64 0}\\n!1528 = !{!\"0x5406620.w128.b0\", !1529, i64 0}\\n!1529 = !{!\"0x5406620.w256.b0\", !1530, i64 0}\\n!1530 = !{!\"0x5406620.w512.b0\", !1531, i64 0}\\n!1531 = !{!\"0x5406620.w1024.b0\", !1532, i64 0}\\n!1532 = !{!\"int32\", !1533, i64 0}\\n!1533 = !{!\"0x5406620\", !4, i64 0}\\n!1534 = !{!1535, !1535, i64 0}\\n!1535 = !{!\"0x5406620.w1.b1\", !1522, i64 0}\\n!1536 = !{!1537, !1537, i64 0}\\n!1537 = !{!\"0x5406670.w1.b0\", !1538, i64 0}\\n!1538 = !{!\"0x5406670.w2.b0\", !1539, i64 0}\\n!1539 = !{!\"0x5406670.w4.b0\", !1540, i64 0}\\n!1540 = !{!\"0x5406670.w8.b0\", !1541, i64 0}\\n!1541 = !{!\"0x5406670.w16.b0\", !1542, i64 0}\\n!1542 = !{!\"0x5406670.w32.b0\", !1543, i64 0}\\n!1543 = !{!\"0x5406670.w64.b0\", !1544, i64 0}\\n!1544 = !{!\"0x5406670.w128.b0\", !1545, i64 0}\\n!1545 = !{!\"0x5406670.w256.b0\", !1546, i64 0}\\n!1546 = !{!\"0x5406670.w512.b0\", !1547, i64 0}\\n!1547 = !{!\"0x5406670.w1024.b0\", !1548, i64 0}\\n!1548 = !{!\"int64\", !1549, i64 0}\\n!1549 = !{!\"0x5406670\", !4, i64 0}\\n!1550 = !{!1551, !1551, i64 0}\\n!1551 = !{!\"0x5406670.w1.b1\", !1538, i64 0}\\n!1552 = !{!1553, !1553, i64 0}\\n!1553 = !{!\"0x5406670.w1.b2\", !1554, i64 0}\\n!1554 = !{!\"0x5406670.w2.b2\", !1539, i64 0}\\n!1555 = !{!1556, !1556, i64 0}\\n!1556 = !{!\"0x5406670.w1.b3\", !1554, i64 0}\\n!1557 = !{!1558, !1558, i64 0}\\n!1558 = !{!\"0x5406670.w1.b4\", !1559, i64 0}\\n!1559 = !{!\"0x5406670.w2.b4\", !1560, i64 0}\\n!1560 = !{!\"0x5406670.w4.b4\", !1540, i64 0}\\n!1561 = !{!1562, !1562, i64 0}\\n!1562 = !{!\"0x5406940.w1.b0\", !1563, i64 0}\\n!1563 = !{!\"0x5406940.w2.b0\", !1564, i64 0}\\n!1564 = !{!\"0x5406940.w4.b0\", !1565, i64 0}\\n!1565 = !{!\"0x5406940.w8.b0\", !1566, i64 0}\\n!1566 = !{!\"0x5406940.w16.b0\", !1567, i64 0}\\n!1567 = !{!\"0x5406940.w32.b0\", !1568, i64 0}\\n!1568 = !{!\"0x5406940.w64.b0\", !1569, i64 0}\\n!1569 = !{!\"0x5406940.w128.b0\", !1570, i64 0}\\n!1570 = !{!\"0x5406940.w256.b0\", !1571, i64 0}\\n!1571 = !{!\"0x5406940.w512.b0\", !1572, i64 0}\\n!1572 = !{!\"0x5406940.w1024.b0\", !1573, i64 0}\\n!1573 = !{!\"int64\", !1574, i64 0}\\n!1574 = !{!\"0x5406940\", !4, i64 0}\\n!1575 = !{!1576, !1576, i64 0}\\n!1576 = !{!\"0x5406940.w1.b1\", !1563, i64 0}\\n!1577 = !{!1578, !1578, i64 0}\\n!1578 = !{!\"0x5406940.w1.b2\", !1579, i64 0}\\n!1579 = !{!\"0x5406940.w2.b2\", !1564, i64 0}\\n!1580 = !{!1581, !1581, i64 0}\\n!1581 = !{!\"0x5406940.w1.b3\", !1579, i64 0}\\n!1582 = !{!1583, !1583, i64 0}\\n!1583 = !{!\"0x5406940.w1.b4\", !1584, i64 0}\\n!1584 = !{!\"0x5406940.w2.b4\", !1585, i64 0}\\n!1585 = !{!\"0x5406940.w4.b4\", !1565, i64 0}\\n!1586 = !{!1587, !1587, i64 0}\\n!1587 = !{!\"0x5405c70.w1.b0\", !1588, i64 0}\\n!1588 = !{!\"0x5405c70.w2.b0\", !1589, i64 0}\\n!1589 = !{!\"0x5405c70.w4.b0\", !1590, i64 0}\\n!1590 = !{!\"0x5405c70.w8.b0\", !1591, i64 0}\\n!1591 = !{!\"0x5405c70.w16.b0\", !1592, i64 0}\\n!1592 = !{!\"0x5405c70.w32.b0\", !1593, i64 0}\\n!1593 = !{!\"0x5405c70.w64.b0\", !1594, i64 0}\\n!1594 = !{!\"0x5405c70.w128.b0\", !1595, i64 0}\\n!1595 = !{!\"0x5405c70.w256.b0\", !1596, i64 0}\\n!1596 = !{!\"0x5405c70.w512.b0\", !1597, i64 0}\\n!1597 = !{!\"0x5405c70.w1024.b0\", !1598, i64 0}\\n!1598 = !{!\"int64\", !1599, i64 0}\\n!1599 = !{!\"0x5405c70\", !4, i64 0}\\n!1600 = !{!1601, !1601, i64 0}\\n!1601 = !{!\"0x5405c70.w1.b1\", !1588, i64 0}\\n!1602 = !{!1603, !1603, i64 0}\\n!1603 = !{!\"0x5405c70.w1.b2\", !1604, i64 0}\\n!1604 = !{!\"0x5405c70.w2.b2\", !1589, i64 0}\\n!1605 = !{!1606, !1606, i64 0}\\n!1606 = !{!\"0x5405c70.w1.b3\", !1604, i64 0}\\n!1607 = !{!1608, !1608, i64 0}\\n!1608 = !{!\"0x5405c70.w1.b4\", !1609, i64 0}\\n!1609 = !{!\"0x5405c70.w2.b4\", !1610, i64 0}\\n!1610 = !{!\"0x5405c70.w4.b4\", !1590, i64 0}\\n!1611 = !{!1612, !1612, i64 0}\\n!1612 = !{!\"0x54063f0.w1.b0\", !1613, i64 0}\\n!1613 = !{!\"0x54063f0.w2.b0\", !1614, i64 0}\\n!1614 = !{!\"0x54063f0.w4.b0\", !1615, i64 0}\\n!1615 = !{!\"0x54063f0.w8.b0\", !1616, i64 0}\\n!1616 = !{!\"0x54063f0.w16.b0\", !1617, i64 0}\\n!1617 = !{!\"0x54063f0.w32.b0\", !1618, i64 0}\\n!1618 = !{!\"0x54063f0.w64.b0\", !1619, i64 0}\\n!1619 = !{!\"0x54063f0.w128.b0\", !1620, i64 0}\\n!1620 = !{!\"0x54063f0.w256.b0\", !1621, i64 0}\\n!1621 = !{!\"0x54063f0.w512.b0\", !1622, i64 0}\\n!1622 = !{!\"0x54063f0.w1024.b0\", !1623, i64 0}\\n!1623 = !{!\"int64\", !1624, i64 0}\\n!1624 = !{!\"0x54063f0\", !4, i64 0}\\n!1625 = !{!1626, !1626, i64 0}\\n!1626 = !{!\"0x54063f0.w1.b1\", !1613, i64 0}\\n!1627 = !{!1628, !1628, i64 0}\\n!1628 = !{!\"0x54063f0.w1.b2\", !1629, i64 0}\\n!1629 = !{!\"0x54063f0.w2.b2\", !1614, i64 0}\\n!1630 = !{!1631, !1631, i64 0}\\n!1631 = !{!\"0x54063f0.w1.b3\", !1629, i64 0}\\n!1632 = !{!1633, !1633, i64 0}\\n!1633 = !{!\"0x54063f0.w1.b4\", !1634, i64 0}\\n!1634 = !{!\"0x54063f0.w2.b4\", !1635, i64 0}\\n!1635 = !{!\"0x54063f0.w4.b4\", !1615, i64 0}\\n!1636 = !{!1637, !1637, i64 0}\\n!1637 = !{!\"float32\", !1638, i64 0}\\n!1638 = !{!\"0x5405720\", !4, i64 0}\\n!1639 = !{!1640, !1640, i64 0}\\n!1640 = !{!\"float32\", !1641, i64 0}\\n!1641 = !{!\"0x5405d60\", !4, i64 0}\\n'"]},"metadata":{"tags":[]},"execution_count":128}]},{"cell_type":"code","metadata":{"colab_type":"code","outputId":"72c3fb4e-707b-4b49-8874-27500508f475","executionInfo":{"status":"error","timestamp":1586935828094,"user_tz":300,"elapsed":485,"user":{"displayName":"Jack Huang","photoUrl":"","userId":"06477710678017628757"}},"id":"cYuEOofbvMc2","colab":{"base_uri":"https://localhost:8080/","height":488}},"source":["#mod = func # relay.Module({\"main\": func})\n","opt_level=3\n","target = \"llvm\"\n","with relay.build_config(opt_level):\n"," graph, lib, params = relay.build(func, target, params=params)"],"execution_count":54,"outputs":[{"output_type":"error","ename":"TVMError","evalue":"ignored","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mTVMError\u001b[0m Traceback (most recent call last)","\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mtarget\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"llvm\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mrelay\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuild_config\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mopt_level\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mgraph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlib\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparams\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrelay\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuild\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparams\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m","\u001b[0;32m/tvm/python/tvm/relay/build_module.py\u001b[0m in \u001b[0;36mbuild\u001b[0;34m(func, target, target_host, params)\u001b[0m\n\u001b[1;32m 194\u001b[0m \u001b[0mbld_mod\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mBuildModule\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 195\u001b[0m graph_json, mod, params = bld_mod.build(func, target, target_host,\n\u001b[0;32m--> 196\u001b[0;31m params)\n\u001b[0m\u001b[1;32m 197\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mgraph_json\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparams\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 198\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/tvm/python/tvm/relay/build_module.py\u001b[0m in \u001b[0;36mbuild\u001b[0;34m(self, func, target, target_host, params)\u001b[0m\n\u001b[1;32m 105\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_set_params\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 106\u001b[0m \u001b[0;31m# Build the function\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 107\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_build\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget_host\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 108\u001b[0m \u001b[0;31m# Get artifacts\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 109\u001b[0m \u001b[0mgraph_json\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_json\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/tvm/python/tvm/_ffi/_ctypes/function.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args)\u001b[0m\n\u001b[1;32m 207\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhandle\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtcodes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mctypes\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mc_int\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum_args\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 208\u001b[0m ctypes.byref(ret_val), ctypes.byref(ret_tcode)) != 0:\n\u001b[0;32m--> 209\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mget_last_ffi_error\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 210\u001b[0m \u001b[0m_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtemp_args\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 211\u001b[0m \u001b[0m_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;31mTVMError\u001b[0m: Traceback (most recent call last):\n [bt] (4) /tvm/build/libtvm.so(TVMFuncCall+0x65) [0x7f2f4556c525]\n [bt] (3) /tvm/build/libtvm.so(std::_Function_handler, std::allocator > const&, std::shared_ptr const&)::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#3}>::_M_invoke(std::_Any_data const&, tvm::runtime::TVMArgs&&, tvm::runtime::TVMRetValue*&&)+0x17) [0x7f2f450bf6e7]\n [bt] (2) /tvm/build/libtvm.so(tvm::relay::backend::RelayBuildModule::GetFunction(std::__cxx11::basic_string, std::allocator > const&, std::shared_ptr const&)::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#3}::operator()(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) const+0x4a0) [0x7f2f450bf4b0]\n [bt] (1) /tvm/build/libtvm.so(tvm::relay::Function tvm::runtime::TVMArgValue::AsNodeRef() const+0x278) [0x7f2f450b78a8]\n [bt] (0) /tvm/build/libtvm.so(dmlc::LogMessageFatal::~LogMessageFatal()+0x43) [0x7f2f44d57493]\n File \"/content/gdrive/My Drive/tvm/include/tvm/packed_func_ext.h\", line 141\nTVMError: Check failed: NodeTypeChecker: :Check(sptr.get()): Expected type relay.Function but get relay.Module"]}]},{"cell_type":"code","metadata":{"id":"OAIAyQNHqDFo","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"L24H83lPqDI1","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"RhtirlgqqDLh","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"BDMtrGeproSb","colab_type":"text"},"source":["Load a test image\n","---------------------------------------------\n","A single cat dominates the examples!\n","\n"]},{"cell_type":"code","metadata":{"id":"n5UaBezHroSd","colab_type":"code","colab":{}},"source":["from PIL import Image\n","img_url = 'https://github.com/dmlc/mxnet.js/blob/master/data/cat.png?raw=true'\n","img_path = download_testdata(img_url, 'cat.png', module='data')\n","img = Image.open(img_path).resize((224, 224))\n","img_ycbcr = img.convert(\"YCbCr\") # convert to YCbCr\n","img_y, img_cb, img_cr = img_ycbcr.split()\n","x = np.array(img_y)[np.newaxis, np.newaxis, :, :]"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"jxyohDQ7roSj","colab_type":"text"},"source":["Compile the model with relay\n","---------------------------------------------\n","\n"]},{"cell_type":"code","metadata":{"id":"eoXb_NViroSk","colab_type":"code","colab":{}},"source":["target = 'llvm'\n","\n","input_name = '1'\n","shape_dict = {input_name: x.shape}\n","mod, params = relay.frontend.from_onnx(onnx_model, shape_dict)\n","\n","with relay.build_config(opt_level=1):\n"," intrp = relay.build_module.create_executor('graph', mod, tvm.cpu(0), target)"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"i--sgyf9roSp","colab_type":"text"},"source":["Execute on TVM\n","---------------------------------------------\n","\n"]},{"cell_type":"code","metadata":{"id":"mEZKZdYMroSq","colab_type":"code","colab":{}},"source":["dtype = 'float32'\n","tvm_output = intrp.evaluate()(tvm.nd.array(x.astype(dtype)), **params).asnumpy()"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"9LQpwWWWroSu","colab_type":"text"},"source":["Display results\n","---------------------------------------------\n","We put input and output image neck to neck\n","\n"]},{"cell_type":"code","metadata":{"id":"sYjme2N5roSu","colab_type":"code","colab":{}},"source":["from matplotlib import pyplot as plt\n","out_y = Image.fromarray(np.uint8((tvm_output[0, 0]).clip(0, 255)), mode='L')\n","out_cb = img_cb.resize(out_y.size, Image.BICUBIC)\n","out_cr = img_cr.resize(out_y.size, Image.BICUBIC)\n","result = Image.merge('YCbCr', [out_y, out_cb, out_cr]).convert('RGB')\n","canvas = np.full((672, 672*2, 3), 255)\n","canvas[0:224, 0:224, :] = np.asarray(img)\n","canvas[:, 672:, :] = np.asarray(result)\n","plt.imshow(canvas.astype(np.uint8))\n","plt.show()"],"execution_count":0,"outputs":[]}]} \ No newline at end of file diff --git a/models/mnist/mnist_mlir.gv b/models/mnist/mnist_mlir.gv deleted file mode 100644 index c90b0cf..0000000 --- a/models/mnist/mnist_mlir.gv +++ /dev/null @@ -1,149 +0,0 @@ -digraph "main_graph" { - label="main_graph"; - - Node0x55d78d48f320 [shape=record,label="{std.constant\nloc(\"mnist_mlir.mlir\":19:19)\ni64\n\nvalue: 10240 : i64}"]; - Node0x55d78d48f320 -> Node0x55d78d49a760; - Node0x55d78d45be40 [shape=record,label="{std.constant\nloc(\"mnist_mlir.mlir\":20:11)\nindex\n\nvalue: 2 : index}"]; - Node0x55d78d45be40 -> Node0x55d78d4a68e0; - Node0x55d78d45be40 -> Node0x55d78d4a6840; - Node0x55d78d45be40 -> Node0x55d78d4a2410; - Node0x55d78d45be40 -> Node0x55d78d4a22d0; - Node0x55d78d45be40 -> Node0x55d78d496fb0; - Node0x55d78d45be40 -> Node0x55d78d496eb0; - Node0x55d78d45b4e0 [shape=record,label="{std.constant\nloc(\"mnist_mlir.mlir\":21:12)\nf32\n\nvalue: 0xFF800000 : f32}"]; - Node0x55d78d45b4e0 -> Node0x55d78d4ab530; - Node0x55d78d45b4e0 -> Node0x55d78d4a0dd0; - Node0x55d78d45b1c0 [shape=record,label="{std.constant\nloc(\"mnist_mlir.mlir\":22:11)\nindex\n\nvalue: 3 : index}"]; - Node0x55d78d45b1c0 -> Node0x55d78d4abba0; - Node0x55d78d45b1c0 -> Node0x55d78d4aba20; - Node0x55d78d45a590 [shape=record,label="{std.constant\nloc(\"mnist_mlir.mlir\":23:18)\ni64\n\nvalue: 1024 : i64}"]; - Node0x55d78d45a590 -> Node0x55d78d4ad400; - Node0x55d78d431600 [shape=record,label="{std.constant\nloc(\"mnist_mlir.mlir\":24:14)\nf32\n\nvalue: 1.000000e+00 : f32}"]; - Node0x55d78d431600 -> Node0x55d78d4adeb0; - Node0x55d78d431600 -> Node0x55d78d4add50; - Node0x55d78d42a2f0 [shape=record,label="{std.constant\nloc(\"mnist_mlir.mlir\":25:14)\nf32\n\nvalue: 0.000000e+00 : f32}"]; - Node0x55d78d42a2f0 -> Node0x55d78d4aa340; - Node0x55d78d42a2f0 -> Node0x55d78d4aadb0; - Node0x55d78d42a2f0 -> Node0x55d78d4aacf0; - Node0x55d78d42a2f0 -> Node0x55d78d49cdf0; - Node0x55d78d42a2f0 -> Node0x55d78d4a6280; - Node0x55d78d42a2f0 -> Node0x55d78d4a0630; - Node0x55d78d42a2f0 -> Node0x55d78d4a0590; - Node0x55d78d42a2f0 -> Node0x55d78d49e160; - Node0x55d78d42a2f0 -> Node0x55d78d49c8a0; - Node0x55d78d496940 [shape=record,label="{std.constant\nloc(\"mnist_mlir.mlir\":26:11)\nindex\n\nvalue: 0 : index}"]; - Node0x55d78d496940 -> Node0x55d78d4addf0; - Node0x55d78d496940 -> Node0x55d78d49fb50; - Node0x55d78d496940 -> Node0x55d78d49fb50; - Node0x55d78d496940 -> Node0x55d78d4aa420; - Node0x55d78d496940 -> Node0x55d78d42ee70; - Node0x55d78d496940 -> Node0x55d78d42ee70; - Node0x55d78d496940 -> Node0x55d78d49fc30; - Node0x55d78d497210 [shape=record,label="{std.alloc\nloc(\"mnist_mlir.mlir\":27:10)\nmemref\<1x10xf32\>\n}"]; - Node0x55d78d497210 -> Node0x55d78d4ae7d0; - Node0x55d78d497210 -> Node0x55d78d4ad7d0; - Node0x55d78d497210 -> Node0x55d78d4adc90; - Node0x55d78d497210 -> Node0x55d78d42ec60; - Node0x55d78d497210 -> Node0x55d78d4ada30; - Node0x55d78d497210 -> Node0x55d78d4aa340; - Node0x55d78d4972d0 [shape=record,label="{std.alloc\nloc(\"mnist_mlir.mlir\":28:10)\nmemref\<1x256xf32\>\n}"]; - Node0x55d78d4972d0 -> Node0x55d78d4ae750; - Node0x55d78d4972d0 -> Node0x55d78d4ad8b0; - Node0x55d78d4972d0 -> Node0x55d78d4ad400; - Node0x55d78d497390 [shape=record,label="{std.alloc\nloc(\"mnist_mlir.mlir\":29:10)\nmemref\<1x16x4x4xf32\>\n}"]; - Node0x55d78d497390 -> Node0x55d78d4ae6d0; - Node0x55d78d497390 -> Node0x55d78d4ad400; - Node0x55d78d497390 -> Node0x55d78d4ac1b0; - Node0x55d78d497390 -> Node0x55d78d4abe90; - Node0x55d78d497390 -> Node0x55d78d4ab530; - Node0x55d78d497450 [shape=record,label="{std.alloc\nloc(\"mnist_mlir.mlir\":30:10)\nmemref\<1x16x14x14xf32\>\n}"]; - Node0x55d78d497450 -> Node0x55d78d4ae650; - Node0x55d78d497450 -> Node0x55d78d4abd70; - Node0x55d78d497450 -> Node0x55d78d4aae70; - Node0x55d78d4964b0 [shape=record,label="{std.alloc\nloc(\"mnist_mlir.mlir\":31:10)\nmemref\<1x16x14x14xf32\>\n}"]; - Node0x55d78d4964b0 -> Node0x55d78d4ae5d0; - Node0x55d78d4964b0 -> Node0x55d78d4aabd0; - Node0x55d78d4964b0 -> Node0x55d78d4aa5c0; - Node0x55d78d496570 [shape=record,label="{std.alloc\nloc(\"mnist_mlir.mlir\":32:10)\nmemref\<1x16x14x14xf32\>\n}"]; - Node0x55d78d496570 -> Node0x55d78d4ae550; - Node0x55d78d496570 -> Node0x55d78d4aa420; - Node0x55d78d496570 -> Node0x55d78d4a9080; - Node0x55d78d496570 -> Node0x55d78d4a8e00; - Node0x55d78d496570 -> Node0x55d78d49cdf0; - Node0x55d78d497830 [shape=record,label="{std.alloc\nloc(\"mnist_mlir.mlir\":33:10)\nmemref\<1x8x18x18xf32\>\n}"]; - Node0x55d78d497830 -> Node0x55d78d4ae4d0; - Node0x55d78d497830 -> Node0x55d78d49d6b0; - Node0x55d78d497830 -> Node0x55d78d4a6ad0; - Node0x55d78d497830 -> Node0x55d78d4a6280; - Node0x55d78d4978d0 [shape=record,label="{std.alloc\nloc(\"mnist_mlir.mlir\":34:10)\nmemref\<1x8x14x14xf32\>\n}"]; - Node0x55d78d4978d0 -> Node0x55d78d4ae450; - Node0x55d78d4978d0 -> Node0x55d78d4a69d0; - Node0x55d78d4978d0 -> Node0x55d78d4a2a20; - Node0x55d78d4978d0 -> Node0x55d78d4a2700; - Node0x55d78d4978d0 -> Node0x55d78d4a0dd0; - Node0x55d78d497990 [shape=record,label="{std.alloc\nloc(\"mnist_mlir.mlir\":35:10)\nmemref\<1x8x28x28xf32\>\n}"]; - Node0x55d78d497990 -> Node0x55d78d4ae3d0; - Node0x55d78d497990 -> Node0x55d78d4a25e0; - Node0x55d78d497990 -> Node0x55d78d4a0710; - Node0x55d78d497a50 [shape=record,label="{std.alloc\nloc(\"mnist_mlir.mlir\":36:10)\nmemref\<1x8x28x28xf32\>\n}"]; - Node0x55d78d497a50 -> Node0x55d78d4ae350; - Node0x55d78d497a50 -> Node0x55d78d4a0490; - Node0x55d78d497a50 -> Node0x55d78d49fdd0; - Node0x55d78d497b10 [shape=record,label="{std.alloc\nloc(\"mnist_mlir.mlir\":37:11)\nmemref\<1x8x28x28xf32\>\n}"]; - Node0x55d78d497b10 -> Node0x55d78d4ae2d0; - Node0x55d78d497b10 -> Node0x55d78d49fc30; - Node0x55d78d497b10 -> Node0x55d78d49f4c0; - Node0x55d78d497b10 -> Node0x55d78d49f180; - Node0x55d78d497b10 -> Node0x55d78d49e160; - Node0x55d78d497bd0 [shape=record,label="{std.alloc\nloc(\"mnist_mlir.mlir\":38:11)\nmemref\<1x1x32x32xf32\>\n}"]; - Node0x55d78d497bd0 -> Node0x55d78d4ae250; - Node0x55d78d497bd0 -> Node0x55d78d49eec0; - Node0x55d78d497bd0 -> Node0x55d78d49daa0; - Node0x55d78d497bd0 -> Node0x55d78d49c8a0; - Node0x55d78d497c90 [shape=record,label="{std.alloc\nloc(\"mnist_mlir.mlir\":39:11)\nmemref\<256x10xf32\>\n}"]; - Node0x55d78d497c90 -> Node0x55d78d4ae1d0; - Node0x55d78d497c90 -> Node0x55d78d4ad970; - Node0x55d78d497c90 -> Node0x55d78d49a760; - Node0x55d78d49a560 [shape=record,label="{krnl.global\nloc(\"mnist_mlir.mlir\":40:11)\nmemref\<16x4x4x10xf32\>\n\nname: \"constant_0\"\nshape: [16, 4, 4, 10]\nvalue: [[[[...]]]] : tensor\<16x4x4x10xf32\>}"]; - Node0x55d78d49a560 -> Node0x55d78d49a760; - Node0x55d78d49a6b0 [shape=record,label="{krnl.global\nloc(\"mnist_mlir.mlir\":41:11)\nmemref\<2xi64\>\n\nname: \"constant_1\"\nshape: [2]\nvalue: dense\<[256, 10]\> : tensor\<2xi64\>}"]; - Node0x55d78d49a760 [shape=record,label="{krnl.memcpy\nloc(\"mnist_mlir.mlir\":42:5)\n\n}"]; - Node0x55d78d49b860 [shape=record,label="{krnl.global\nloc(\"mnist_mlir.mlir\":43:11)\nmemref\<8x1x5x5xf32\>\n\nname: \"constant_2\"\nshape: [8, 1, 5, 5]\nvalue: [[[[...]]]] : tensor\<8x1x5x5xf32\>}"]; - Node0x55d78d49b860 -> Node0x55d78d49f020; - Node0x55d78d49c040 [shape=record,label="{affine.for\nloc(\"mnist_mlir.mlir\":44:5)\n\n\nlower_bound: affine_map\<() -\> (0)\>\nstep: 1 : index\nupper_bound: affine_map\<() -\> (1)\>}"]; - Node0x55d78d496a00 [shape=record,label="{affine.for\nloc(\"mnist_mlir.mlir\":53:5)\n\n\nlower_bound: affine_map\<() -\> (0)\>\nstep: 1 : index\nupper_bound: affine_map\<() -\> (1)\>}"]; - Node0x55d78d49f790 [shape=record,label="{affine.for\nloc(\"mnist_mlir.mlir\":65:5)\n\n\nlower_bound: affine_map\<() -\> (0)\>\nstep: 1 : index\nupper_bound: affine_map\<() -\> (1)\>}"]; - Node0x55d78d49dd40 [shape=record,label="{krnl.global\nloc(\"mnist_mlir.mlir\":88:11)\nmemref\<8x1x1xf32\>\n\nname: \"constant_3\"\nshape: [8, 1, 1]\nvalue: dense\<[[[-0.161539719]], [[-0.433835655]], [[0.091641359]], [[-0.0168522168]], [[-0.0650264397]], [[-0.131737873]], [[0.0204175506]], [[-0.121110231]]]\> : tensor\<8x1x1xf32\>}"]; - Node0x55d78d49dd40 -> Node0x55d78d42ee70; - Node0x55d78d49ffe0 [shape=record,label="{affine.for\nloc(\"mnist_mlir.mlir\":89:5)\n\n\nlower_bound: affine_map\<() -\> (0)\>\nstep: 1 : index\nupper_bound: affine_map\<() -\> (1)\>}"]; - Node0x55d78d4a0070 [shape=record,label="{affine.for\nloc(\"mnist_mlir.mlir\":101:5)\n\n\nlower_bound: affine_map\<() -\> (0)\>\nstep: 1 : index\nupper_bound: affine_map\<() -\> (1)\>}"]; - Node0x55d78d4a0950 [shape=record,label="{affine.for\nloc(\"mnist_mlir.mlir\":113:5)\n\n\nlower_bound: affine_map\<() -\> (0)\>\nstep: 1 : index\nupper_bound: affine_map\<() -\> (1)\>}"]; - Node0x55d78d4a0fe0 [shape=record,label="{krnl.global\nloc(\"mnist_mlir.mlir\":135:11)\nmemref\<16x8x5x5xf32\>\n\nname: \"constant_4\"\nshape: [16, 8, 5, 5]\nvalue: [[[[...]]]] : tensor\<16x8x5x5xf32\>}"]; - Node0x55d78d4a0fe0 -> Node0x55d78d49d810; - Node0x55d78d4a6430 [shape=record,label="{affine.for\nloc(\"mnist_mlir.mlir\":136:5)\n\n\nlower_bound: affine_map\<() -\> (0)\>\nstep: 1 : index\nupper_bound: affine_map\<() -\> (1)\>}"]; - Node0x55d78d4a64c0 [shape=record,label="{affine.for\nloc(\"mnist_mlir.mlir\":145:5)\n\n\nlower_bound: affine_map\<() -\> (0)\>\nstep: 1 : index\nupper_bound: affine_map\<() -\> (1)\>}"]; - Node0x55d78d4a9350 [shape=record,label="{affine.for\nloc(\"mnist_mlir.mlir\":157:5)\n\n\nlower_bound: affine_map\<() -\> (0)\>\nstep: 1 : index\nupper_bound: affine_map\<() -\> (1)\>}"]; - Node0x55d78d49cce0 [shape=record,label="{krnl.global\nloc(\"mnist_mlir.mlir\":180:11)\nmemref\<16x1x1xf32\>\n\nname: \"constant_5\"\nshape: [16, 1, 1]\nvalue: dense\<[[[-0.0822488219]], [[-0.108868778]], [[-0.141039595]], [[-0.204869166]], [[-0.17913565]], [[-0.215438381]], [[-0.133805066]], [[-0.195724562]], [[-0.268250644]], [[-0.258212209]], [[-0.0761560649]], [[0.0132841459]], [[-0.00444464432]], [[-0.414740831]], [[-0.17879115]], [[-0.0386558883]]]\> : tensor\<16x1x1xf32\>}"]; - Node0x55d78d49cce0 -> Node0x55d78d49fb50; - Node0x55d78d4aa0a0 [shape=record,label="{affine.for\nloc(\"mnist_mlir.mlir\":181:5)\n\n\nlower_bound: affine_map\<() -\> (0)\>\nstep: 1 : index\nupper_bound: affine_map\<() -\> (1)\>}"]; - Node0x55d78d4aa770 [shape=record,label="{affine.for\nloc(\"mnist_mlir.mlir\":193:5)\n\n\nlower_bound: affine_map\<() -\> (0)\>\nstep: 1 : index\nupper_bound: affine_map\<() -\> (1)\>}"]; - Node0x55d78d4ad370 [shape=record,label="{affine.for\nloc(\"mnist_mlir.mlir\":205:5)\n\n\nlower_bound: affine_map\<() -\> (0)\>\nstep: 1 : index\nupper_bound: affine_map\<() -\> (1)\>}"]; - Node0x55d78d49d200 [shape=record,label="{krnl.global\nloc(\"mnist_mlir.mlir\":227:11)\nmemref\<2xi64\>\n\nname: \"constant_6\"\nshape: [2]\nvalue: dense\<[1, 256]\> : tensor\<2xi64\>}"]; - Node0x55d78d4ad400 [shape=record,label="{krnl.memcpy\nloc(\"mnist_mlir.mlir\":228:5)\n\n}"]; - Node0x55d78d4ab110 [shape=record,label="{krnl.global\nloc(\"mnist_mlir.mlir\":229:11)\nmemref\<1x10xf32\>\n\nname: \"constant_7\"\nshape: [1, 10]\nvalue: dense\<[[-0.0448560268, 0.00779166119, 0.0681008175, 0.0299937408, -0.126409635, 0.14021875, -0.0552849025, -0.0493838154, 0.0843220502, -0.0545404144]]\> : tensor\<1x10xf32\>}"]; - Node0x55d78d4ab110 -> Node0x55d78d4addf0; - Node0x55d78d4ae140 [shape=record,label="{affine.for\nloc(\"mnist_mlir.mlir\":230:5)\n\n\nlower_bound: affine_map\<() -\> (0)\>\nstep: 1 : index\nupper_bound: affine_map\<() -\> (1)\>}"]; - Node0x55d78d4ae1d0 [shape=record,label="{std.dealloc\nloc(\"mnist_mlir.mlir\":249:5)\n\n}"]; - Node0x55d78d4ae250 [shape=record,label="{std.dealloc\nloc(\"mnist_mlir.mlir\":250:5)\n\n}"]; - Node0x55d78d4ae2d0 [shape=record,label="{std.dealloc\nloc(\"mnist_mlir.mlir\":251:5)\n\n}"]; - Node0x55d78d4ae350 [shape=record,label="{std.dealloc\nloc(\"mnist_mlir.mlir\":252:5)\n\n}"]; - Node0x55d78d4ae3d0 [shape=record,label="{std.dealloc\nloc(\"mnist_mlir.mlir\":253:5)\n\n}"]; - Node0x55d78d4ae450 [shape=record,label="{std.dealloc\nloc(\"mnist_mlir.mlir\":254:5)\n\n}"]; - Node0x55d78d4ae4d0 [shape=record,label="{std.dealloc\nloc(\"mnist_mlir.mlir\":255:5)\n\n}"]; - Node0x55d78d4ae550 [shape=record,label="{std.dealloc\nloc(\"mnist_mlir.mlir\":256:5)\n\n}"]; - Node0x55d78d4ae5d0 [shape=record,label="{std.dealloc\nloc(\"mnist_mlir.mlir\":257:5)\n\n}"]; - Node0x55d78d4ae650 [shape=record,label="{std.dealloc\nloc(\"mnist_mlir.mlir\":258:5)\n\n}"]; - Node0x55d78d4ae6d0 [shape=record,label="{std.dealloc\nloc(\"mnist_mlir.mlir\":259:5)\n\n}"]; - Node0x55d78d4ae750 [shape=record,label="{std.dealloc\nloc(\"mnist_mlir.mlir\":260:5)\n\n}"]; - Node0x55d78d4ae7d0 [shape=record,label="{std.return\nloc(\"mnist_mlir.mlir\":261:5)\n\n}"]; -} diff --git a/models/mnist/mnist_mlir_cfg.pdf b/models/mnist/mnist_mlir_cfg.pdf deleted file mode 100644 index 1b6ac9f..0000000 Binary files a/models/mnist/mnist_mlir_cfg.pdf and /dev/null differ diff --git a/models/mnist/mnist_mlir_loopunroll.mlir b/models/mnist/mnist_mlir_loopunroll.mlir deleted file mode 100644 index db36f92..0000000 --- a/models/mnist/mnist_mlir_loopunroll.mlir +++ /dev/null @@ -1,370 +0,0 @@ -#map0 = affine_map<(d0) -> (d0 + 1)> -#map1 = affine_map<() -> (0)> -#map2 = affine_map<() -> (32)> -#map3 = affine_map<() -> (1)> -#map4 = affine_map<() -> (28)> -#map5 = affine_map<() -> (4)> -#map6 = affine_map<() -> (5)> -#map7 = affine_map<() -> (8)> -#map8 = affine_map<() -> (2)> -#map9 = affine_map<() -> (14)> -#map10 = affine_map<() -> (18)> -#map11 = affine_map<() -> (16)> -#map12 = affine_map<() -> (3)> -#map13 = affine_map<() -> (256)> -#map14 = affine_map<() -> (10)> - - -module { - func @main_graph(%arg0: memref<1x1x28x28xf32>) -> memref<1x10xf32> { - %c0 = constant 0 : index - %c2 = constant 2 : index - %c4 = constant 4 : index - %c0_0 = constant 0 : index - %c4_1 = constant 4 : index - %c10240_i64 = constant 10240 : i64 - %c2_2 = constant 2 : index - %cst = constant 0xFF800000 : f32 - %c3 = constant 3 : index - %c1024_i64 = constant 1024 : i64 - %cst_3 = constant 1.000000e+00 : f32 - %cst_4 = constant 0.000000e+00 : f32 - %c0_5 = constant 0 : index - %0 = alloc() : memref<1x10xf32> - %1 = alloc() : memref<1x256xf32> - %2 = alloc() : memref<1x16x4x4xf32> - %3 = alloc() : memref<1x16x14x14xf32> - %4 = alloc() : memref<1x16x14x14xf32> - %5 = alloc() : memref<1x16x14x14xf32> - %6 = alloc() : memref<1x8x18x18xf32> - %7 = alloc() : memref<1x8x14x14xf32> - %8 = alloc() : memref<1x8x28x28xf32> - %9 = alloc() : memref<1x8x28x28xf32> - %10 = alloc() : memref<1x8x28x28xf32> - %11 = alloc() : memref<1x1x32x32xf32> - %12 = alloc() : memref<256x10xf32> - %13 = "krnl.global"() {name = "constant_0", shape = [16, 4, 4, 10], value = dense<"0x05AABB3D63B3F83D52CCAE3D4E19FB3D863FCABD86A1E5BD9A5C12BD1225C5BDC66F17BE3FC80E3DDD6F46BD952D0C3E5D8F153E9D49F5BD9408553EA29568BE7CBFD83E8257703DDD542BBE39DDBDBE5DDA44BEEA2AC13D7DE1BF3DEAF92ABC64206C3E7CA8E7BEB1E4233B56BD4BBCD829023D4FCC9BBE33AB933CF8E9C63CEF1F933E20182F3E315C98BD7BBB903CBEC5D7BDB88CA7BDFB43753DB33EF83936311DBE740CF73DCA7CDC3DE573C13DC10D8FBDF465D2BC2880DF3DEF58AABD351FA93DC3EC33BE31342CBE9253D73D457F32BE9683A8BD9DF3ED3E0CE5F73CBA2923BE695F4C3E78EFCEBD7234FDBEE6BFA83E22C5353ECEA0D23E6C70FC3DFD2F8DBE1ABEEEBEF117BEBEDFFCABBCAD1203BE22E7463DBC69C33ECD8B6DBE1CD6D03EED9DB93C22769F3D32912BBFD1937ABDFE8E3F3D13EA06BD6AA9113EEEA303BE28C8D43C17C412BC8DB2373EB60D09BD4B7BDEBC676C053E36563ABD04DF5B3D28FEB23C6A7CC3BBEC6F4BBD4BBA22BE3AE9DE3DD5252EBE32FBB23E497C32BE4C73293E2FBD0FBE4CE731BEB1EB15BDA043243D7990443EED252E3DD6C127BE7B42E23E86A09D3DB312E0BE82A94A3DAB6D71BEAD3AC9BDF699CFBEC0FCBEBEB989793E4D8705BFA01F113F0C230E3F2BDFD5BD3059383E91FBE8BD0E6822BD53ABE5BD39571BBBA50B4EBB1778D2BD32FB9B3CF5BE93BDBDEC80BDC6FFB13DE4D1733D14B7383EA7EFDC3D69B848BE8157033CA3A3813D4385723C803C93BD31E2DA3D8BED7ABE00E4793C029DABBE984C06BDAAE322BE0E90153FD08B96BD7907043FA602253EA8384DBEDE5AB03DE39188BEF50CF7BE31B9253D390AD4BC5659993E45DE5EBE4039A63D997A883E509294BE957F883EC0EC4FBEC78FFEBD9179C33B5DBF653E6AD10B3EA799E5BC96D48FBE54E7BA3CD657853DEA8B15BE4526D13D268B0CBED3CB653DE620A6BD540CE93BFFA553BEAAD5E73D607538BE3A3AB83E63546BBEFBC4FE3BE0C159BED2EFD1BDC090BA3DA1EE8A3E578614BE60A7B23D96CB8FBD3C180B3EC1CAF03DDC49C7BBC4001EBDD214B03DCC32423DF31316BDFC3EA73D147AAC3D5AFA093E041681BD30B8B53B524B9E3DFEC9C4BCD84297BD7F7C783E0A174D3EC29502BE226CC0BE5EC183BE93542E3EF4ED94BD26B8DFB90E9F0FBDF52B813ECDB5973E3929353E7071D0BE708C37BEFE47F9BE0A043F3F1E1F32BDE8D526BDBEDB673D862291BE1D528A3D9AAF8CBE2F3497BE718FA33E2B55CCBDBAC1B73EAE650CBEA2B178BD84A8B63D0ABFFDBD237BF6BE80C7F7BD6D959ABDAFCE013F2096253E0F0E093D303254BC1245E13DDC8739BEEF1656BE4ACC2E3E8E75553E6EDFD43DA4E6283E55C054BDFC7B983EF262F5BD258B35BE720612BEEF443EBB23B320BEFA987ABDC6163C3E0D258C3E2E87B8BDF771F2BD0745DF3CA52CAB3EC6C413BEA5E293BE0A9182BEEA38C7BDC6E8133FF82395BE5C2F3E3E64C86EBEBC063A3E46F129BCF2451CBD4297B6BD8586253F816C2B3E67D8013E108EC8BD284E5B3EC670873EE5A45C3D886F42BF76C64FBEE259B23EB7C40CBE57DF923E46EF5B3E78CAC93DB63076BEE95E233EA93668BE2D958C3C24C43A3CF864333E037E4C3D4D959E3D64903BBD2D5EC83CC6B652BD103DFABEB5C486BD6E4ECE3D4764893EC81D23BD0290C83DDF2A22BDDFD19BBDE7A9DAB862E2053DB2B69FBE906DB63D8D5794BE2FC8A1BD194C7E3EC9ED273F604694BE8053B13E08EFDABE491380BD2E92293D1B33C2BDF41512BE5A56153D5DEE06BE7B1C393C2AD02BBD59B7CFBC028A35BEBF85473DCF4BE93B08FA0FBDCD18F7BD99EB1C3D366C49BE64DE1B3EFF48883D7743DA3C929B3ABEC08F4DBEF2937D3E7326123EBAEA4EBC0A0B013EA6B494BCD9B23DBC9DF2E83D20B1AABEA43D06BEA01F14BECD01603EFF2C943E090B803EAA24323E0ED6D03D762583BEAC73E5BDA83372BD8935103DD73627BDCC0BB5BDD55A8FBCAC7E0F3D8DD4D3BD232E8E3D9663903E494C883D847F2ABE7E88873DCB7C28BE2328D13ED132803D894882BD585A91BE42873B3E072BFD3E68EF973ED7198BBE3DF1FABB4F4AFEBEE3BCAF3EEABBC23D37DC8DBE4DBA453E51F578BE7D3F643E29F5383E6E4EAEBE9F80C93C2C0FF6BDCFC7AA3E60B573BEAB6CFB3C32D1AA3C8B186CBDF5574BBC3EEA81BE4B99ACBEE4A0FE3EA1F0CE3E4388B83CBD1765BE1D5A023B5F53A3BE1BB2F43C4994333EF2915B3E28C2883EFD4BE03D42F090BE2AC5A73E63128D3EF112C1BEAC982CBF0C35D9BE59E133BE8868633EF29E063F293EFF3E6FF53BBF676794BDA62102BD55361D3FAFF48C3EA7ED39BE1ED2303C53408E3E4048473DF38C443ECCAA11BE7BD3C03D03A011BED49E43BDCB800D3E8602E93D28A411BB6AF3463C421703BEC5E7573E5AE2C93DDFF1F0BBD023BBBDE78E3EBEC4D9BF3D3F25613EDECD613CD9DF973CA43FCD3D788A6B3D8DFFB23D28B584BE0E9F513D2D84013D82DB9A3D01B05CBE65703DBE7BD1893ECFDD6DBE98DF753E86DF5A3E158208BF084BA1BDCEDB583E75A52E3EA848093F654D4CBE0B56B9BB5FE947BE2100FEBD8A668A3DAFA2F9BD226E5F3D81219ABE13E80FBAA09E2F3EF32E453F9EB38ABE154E713D09F312BE9C4EC1BC1F46B6BC42AB6FBEED308DBE2D53CE3DD02B08BE10F10ABEC51F1A3E56290B3E9D4FABBD15CA123E3534DF3DC969E0BDADF9973BF130A83DD76269BD138705BD32FB2A3E17CFEEBD2478053EA462ED3D2817AC3D73330FBE482F8EBB69B39ABDC8339A3D12B6153E83D595BD1EE428BE995145BD5EF8E93D1B9629BECE68CBBDF64B31BE14D5C83D506E563D4FEB123D673787399A06E2BD07B4A23D558369BCA44B373D0CABC4BD0E7085BD40DE983CBEA6D83DFFE0E53DB761313E354786BD55EC033D4F7D873DC2EFD2BD35DF3ABDBBEAB9BD7416AF3D38F18CBDD6D4A83EEE560DBE13F780BDCD27303E4EC46BBD4DB60EBE0E898EBEDE9A6EBBEA8A2CBEAA40CD3E3399D73D2339F6BCB3CBA0BEBFEDD6BB60CD9ABCBB37BDBC09F054BEC262EE3DC6453CBD50BCF83D3BB0F13D51E5B63E9C0941BE05E507BE24345D3E03C991BDCDE676BDC66E6ABC97E6C83D9055DDBD76B1FD3C5FE7C7BD97C4CC3CAECD76BEA10DE03C9B0F0A3B304FF43DD186C63D0055A33E6F302ABE54D9273E25FC7EBE5FA8043D22A2C23DCE7E823D9751C93EC96ACCBE563842BE4E5179BECDCBBE3ED8EAB4BEC065AE3BDB1838BD138A6F3DB43F86BEDA3B72BD0844B6BED0EE533E165B8A3E99A85C3E0600B7BEF01312BC8F4DCCBE31B6603C44E4D83C1098113E6D614FBE98A98E3E0221DBB90E1E45BE5ABF223EBA4CBDBC2795E63CDCA7EE3DF39A92BC376867BD50E7A3BD511B97BDD027D4BDBAC72E3D04EBB03E5B02B6BE1B31843DB511BEBD0310EE3D24935B3E7F5E933ECA53B8BE26EBA0BEA236B43D7AADCEBEFFDF493D2C58853EB5CC3ABD804DAEBDF512C53E15EA803EF84DF63C401344BE2C612B3CFB3628BEB68BCF3D052C983DE794923D534109BEBA5844BEA944963BECF2533C064787BCCB9F323B2B7E15BC1ABFEB3D854C8C3DACD3D3BD8DF6ED3D479D783CAF60E13C6265F1BCB6DBB33D73572E3ED92FDABDE885EDBD2B9D0DBE3A1B4FBC526ED53D7CE193BDBCDF2E3DEBB3A93D460F8B3C2CF9833E2F39E2BDFF1A12BE9E85B43DDC076C3EC01C25BDCCBE99BD0EADA1BE39C6B6BCA7CC13BE9D8794BD5F2A22BE8B5A21BE05EA87BD0F4CB53EF812E13B51D01A3D72878FBE8705993CB44CA93C7BC88C3D10804E3E302BC53D5BABF1BD4778F63DE86D8DBCA4914F3D8CA4DF3D5F592EBD17EDE6BCC863633E4A53053E091258BDC440FF3D86C2B03D49FE4A3D1EBB463E2C71A7BE553D52BE40FC73BE0AC78DBE17A8793D67C2473E2D20A33D836E17BE0D9F4EBE2FFFA0BD050FADBCD2531F3F440A03BE1045BABD3E1FD8BDABCD943E79F365BD5E2D6D3D0FB7A9BD23D79E3C04E7AD3E9F132ABDF31833BE5F3D073E7EB46EBC6B23F1BDF1758C3DD6C82EBDC229113E556B823D701C45BEC644E8BD6B4646BCD58EDB3D128F9A3E71A1FFBD76BB16BD7309963E004986BE16A85BBD9D09AEBDDADFF83DF28D00BC078A97BEF82AA73D03C7C43E82CDB33D2759863DD0D0163EF758003EC9C763BD43D7803E2E1CC9BAAD9E38BE0D9828BEC3C0F0BD043BEDBDCB52DBBD7B2C2A3E19DAB53D01BCEA3D253F46BE1A0F1BBEFA54653DB6330B3E0E47FDBC9DDF4ABC80B6A83D1B70853DB69A74BDB0B418BEF802043EE20B7A3E949E2BBE66D6B63D6461123DD9ECB6BD2F503CBBBA4909BE977A6CBE06FC1F3D1B432BBEF6E8363EE533C1BDB6D199BCAE530C3E9AFFA4BE6CD55E3E1AFAA93EAD84F3BEC724E53E5AA19DBEC55B1CBE418D3A3ED3FCB5BDE306293E92272A3D41073B3EAECE3B3BBFFC9BBE498F1A3EE6928ABD92C62ABEB5FA0CBE3A31B23D9DA625BD2F7D17BD464439BE0D25283D9892FE3DB9A72DBD6E7C82BD5DE30ABEBC79B83D9E68133EA3A1493E8B8EF8BC261F3B3DC5B3863DBF7F41BD5184B63DC647253D4D1D56BD5C841FBE4CE7443E86AE0A3E4C8140BC4C46813D1665E1BC264EA13C224A9CBD2D4C273DD8CE09BD22768FBD8D464CBDEFF516BE9AC84E3DC8E577BC158EDD3DA72CCB3D64DF0BBE56F225BDAA3BBABD1D59713E9AF484BEEBD035BD262FEC3C1603543DAFE37E3B28AB203E7E71CF3D5F6554BE0694C0BD4985823E6D3B1BBE9E94C1BEEB21193EC7A8D23DED585FBE3BDE65BAC80EEEBDE814BA3D1B26083F5A423D3E625D1E3E02B29DBD890F9B3D9BB3753E993DE7BE793C063B8AD5CBBE18CC05BEE7B6CCBC44448D3DF15D2ABD457B863D3AF881BDF7B73F3D88AE4DBC9C18EDBDAACA6EBEFDB88DBEBB535FBC92B695BE14DDCDBEF0DFBBBEBE41AC3ED84E4EBDBE242BBD861A85BE637E993EE643E03E367A743D658401BC7550C3BE015260BE59E7803E7EDD313EB1AE32BEA1661EBEEF2B393EDE2AB73E866733BDA22FBE3E02B3E7BEFDC63F3E7F3C57BCB96C12BE645013BF275404BE5975313E1BECC33E7C071D3ECF4C23BE6DF3173D14158EBC76630DBDCA0733BE2F3DDF3D2098993D1EDE1B3ED30229BD1CCE8A3D8BBE1EBEAF78273E9D52693E8BE43F3DD45AF4BC1CFDD43D3E3C42BED2F60A3E40C8B8BD1ECC863E71BC91BE8FE9253FE86A0BBE4F4D843DD98CF63C9ADA8D3E115763BE24E8243E6F9575BE21CB65BE65AE69BC2113E93E1F176ABCDEC649BE1F438CBE167B353E09E9933DC0AFF4BDB24293BDBD50DF3D4B6033BECC59B6BD3DD22F3E0AF473BD9B85E93D982F293E9905B4BE203C0DBD0F70F0BDFE5B09BE68F523BE173A873E8D30DF3DF224B7BD9C6B31BE358B5EBD2F8E3B3DCF47A73DC14FAE3D9446A43D818D77BE0298BE3E06BCCEBD557120BEAA8A503D83924C3EF1C47ABEDF0E0A3E3CC90F3B3554FFBC648AF83DE8EE01BE8A2142BE91AC2A3EA39FF93C2BC41E3EC80258BD4537D73C99EA68BE1B9909BEFD849C3E2C6BBEBD15313DBE8C93CC3EFC8162BE774B303EC6C5F2BC2F38E13D7AF1B8BDFCC661BB6903183E9651533D041C2F3E590BA73CE8278CBEF63C67BEFC7814BE82D74DBD6BC1833E6E37373E4D30D5BE9870C23C0EC230BE2A9F02BF83CCFC3D5BA19CBE68F7183DBE42453E0502F23E51B4DEBDDCF6C73BE24A3EBD625DF9BE8029253D876CAD3D3785033FAA4586BD6EEA193E778D24BD44345DBE58C77A3EF3420ABEB455D63DE620383FEC3302BE912B87BEE65AFB3D7528663BF4451FBFCCCA823D4ED1F03C110EAC3EF28AF1BC2648DF3DB8CAE73D60334FBE62D3783E8069DF3D9A7AA5BEC55411BE68FF83BDD7BB4C3E72F8083D5CFE41BC6BCFBD3C4218053D3A1FCB3D2EE10F3CEF6BD9BEED04033E3F57B13E628E92BE0C74893EF9AC563ED3E943BE5B3EA93E5F649BBE8AFC29BBA42400BEC355733E93B67B3E731D4D3E0514E6BDB34781BE3635E8BDD140A8BE42415ABE77339ABDE851C53E796972BE52EAD33E4EB2F2BD67E9253D615B703D8857DB3EAE3EAABEE2AD98BCEC6999BE7E22B8BD03C4D4BD602E513B4EB900BEA0E81CBDC77BD1BE4867BE3CC33337BE109AA43EFFB182BE4C4BE33DDE43CD3DEC7C033E3E764A3B4076033E5402D3BDF2466B3E04ED9FBE15E9153E0031543DD96B393E70279CBD8E14833CB92879BEE87C9B3E3F2DDABE10848B3E91221C3DA646813CB26BA13E6281AEBC10D3483D06CA56BC395D8D3DD3B5C43B8FEA3ABECACFB73D3B84EC3C130419BD315FFB3D84CA7E3D27E8DF3DB467BABD08B92D3E7762A5BE4AD910BEE2D1833EE3A7FF3D83FB5BBDF50BDE3B4A3BEE3C116E08BCE2CB3B3E5B044F3C04E273BD5FDAE73B0846253E36A7533D3FA907BD7A4F16BE65302BBDBB5CC73C782425BDD66C93BD12697EBD75E4CABD06F09EBD8EFFFF3D5C52693D05A5B33D5F68043E524944BB38C8D0BD518C2F3B40A28FBD61B7C33D2776203E45EBD43D1528133E02514BBE05764D3EF7A67EBEB18E913C3868DB3D1C61FC3E248289BE6A44F8BDDF0B02BEA055573DA8EE89BEF345DCBD0E594A3E5C78553EEBF7403EFD99EBBD284F9CBE9743EFBD7D14B2BE574E053F7E49F1BE19706EBED6561E3EA515833EEF3C393EB1C4B2BE6F83AABDE317A8BD48714F3ED93F2F3EDEAE34BEEEEB31BE86698A3EE3D5A5BDF6F6913DB5EFE6BE92F48B3D9BF27DBDA00B893EFC510EBD3DDD383DD81AE83C48D95CBD1A598B3E2E16F63D007956BD89A3643D26CF933A8E75C8BD8F24B73DCE30763EDFA72ABEDE6E27BE3645383E17AC11BC38D6E7BC2CBB03BE65DF1C3DAD0903BCF004D53E245953BE6DB003BED69A093EA10306BB95BA8EBE0C4194BEF43DFBBDD9BE12BEB747F63D0FBEA4BC301AF33CF01706BD24DFAE3DEAC3BEBB41D28D3EB94ABEBD63DD263D65D984BD3BF0893D5E8CD0BEE107353EE7424DBDD014E3BED134083E8A584DBB71AB11BFCDDAB43E72E21CBEE194933D6DA2AE3E685E80BCA5F39B3C7F62E1BD50C60FBE0B45A83D1F74A13EF9EEA23EB70C14BBB90A073D36C696BD7D7A6DBE8BBDA93DBD37A93E04B8EFBD91FB0DBECA78F03D20E0F2BD19DB793ECA722B3C9EF426BE868CCBBD5903D1BD75B111BD22D44BBE8B5C3D3E02CF2B3A57E834BCF3533EBDE017393E701B55BEFE0E2FBCA674E13D0BE1A4BE088461BDCEF2943E304B4D3EAABD97BE94F493BDE567443EE0BEF7BECF46933ED0EC0F3E6D258F3E97A315BD248FA53DB30E2FBEDDCBFEBD586E8ABE8623C73EC060B3BE8567CBBD242ED13EA6E1273E3882703E709CA8BD8B126FBECE9A763E2F07543DFFDE883E59F2CBBD07AD17BEA5EB22BE5E2C3C3D3F1FF33D741F79BECDB80FBEACA1543EF6FB3CBEE966223EC72AFF3DCED0D9BCBA504D3D63BEA83CAA296D3DACD683BD45777FBC582C183EF363D6BDDB7701BE261B25BE248AE53CA3282EBE449B213EBEA4F63D59E028BE61BFB93E1C8088BE921111BE0146C33D3BAA813DA6EDD9BE6EEEBEBD27B98A3D16A5D43D255CB53E175A293C4EA7A5BD614A4FBD0AEA4DBEBCBAAE3CD26C3C3E90642DBEFE7EB63CAEDFE0BDD26F98BD583613BFA420B53EB310F73D7168523E34B003BD9998073E712872BEC51CBEBDA69004BEAA18DE3DEC81F2BE209340BD0B327BBE6EF3ECBD99F73BBE24D3973FBC5057BE957C0CBE2116ADBDF02ED03EF9C02C3E607BE93D1CECFC3D1EE9B5BEF866443E8C763DBEB44F863D0F104D3E1C83A7BDA25644BEA305ADBDB0B7AEBD0D50B6BB303056BEB942AF3D40B0523B70F2163D53D71A3D73F5F8BD6AFED53DCA21C03CD15BE1BD6061703D894863BD79204EBB5002C9BD932B673DAA51AABD84F191BD8F04A9BE2EFA583E40E70DBD1FFA433E8B0B053E8692D93DD88472BE112BDE3D866B9FBEE4C32D3E22C79EBD96B0023F9825F13D67703B3E43A12FBEF84C573E45E898BE239FC23E4A7A54BCAF6A943D562E89BEC6B14E3ED25B41BDA120FE3D4AFD87BD3EBE8A3D495B86BD6FF9653D10B708BDA42D3DBD73D0E4BD4E55BFBB93C9423CEBEBABBCFC42803E0987E0BD4EF403BC63DB72BEC9F588BBBAB9573E1FF6D2BD1369AEBD7B395FBD1A6C323E39E4863EC2D220BEEAE95BBCCB7709BEEBFB8C3C011CE13D589AF93DDFA71DBEE01EF43DEA04243D1BF95A3E68A636BE9F25B23D38F37FBE06436BBDEF12453D2E33E8BCD952133D3B4B5DBDF45E233D8051463EFFCDB0BDE148C33D9A6FA5BD7E5B013ECC66DFBD6F4796BE59B890BD4AFBE1BDCF6AA63E083CE03DB4322CBD1A123D3ECBFCB3BDBBF551BD1CABBB3D38C795BD416BDCBDECD6593E26935E3E3BD6AE3DBF7677BE80E47E3C5B73153EFF70813E1D3DBABDCCA51A3EAB4136BD3DA9093E01CE02BE26A948BE3480A73E42F0BDBECBA8B8BEF8D5273E06BB4ABEF2F25BBEFA5C533EB37604BE8A0C45BD6928F33DE10612BC8CC8893DE2A76FBE6BEE863BD873B2BEE1879DBED17E01BE0E8F8EBCA3652BBD6A29CE3E555435BE5576873E50CB353EDFA71A3D9C622FBD77576DBE2672723DB1CA1FBEE110483C5A72B73DECC934BEE6C5613DC6AA26BEBE72B13D288AD03E69B097BE86C87FBE221E153EDD69043EDBE4D6BE808E5F3DF46C1DBE8886663E7556AA3D544D26BEF63FB9BD411A423DD5E8FE3DBD77B3BCA8DEB9BDE14F16BE47CCCABDFA123C3E2998993D3B8D7EBEA8C38A3E57F103BD2274083EC3B177BD53BE9B3D1DC931BE1A16393E40489CBE4CC4DC3D9665FF3B394FB23D5C848FBE415312BED04A03BFABD8663E3452013EA3198B3E863D2FBDE15E3FBFC451463D2A712F3EFE6584BEDBCE453F2327CCBE2FC3C3BE9F65143F13C482BED1F2353FACA680BEC09BA6BDD82F023EEF9479BDA2E76E3E9806EA3C1946C1BD595EEBBD8DA5093D18B0433EDAE88DBDAE6849BD864F8CBDFB4754BD358434BE63193EBE551BB5BDA4E5223EC66E173DD906A93DA991363DE279D7BC5BBD90BDBC80DD3D171F063C791430BEBAA9243EF4CAA2BD223F563D77AF693EC66C9CBE53CEDC3D35E7603DDD3AD23E15C9513C21643DBE3F81CE3D28F7F33CA17664BEA49CDABDB5AD92BEE7CC323BD1AD99BCA95FE43C6C19E7BC3C43353E392B95BA87652DBEE5F23A3D724101BE6ACEC6BD7BEDDABD9C77823D749149BD85BD08BE07A402BE8043C43CD641B23C4F859F3DC55E2ABE8356653E7258403E7D43F8BD7917753DD10501BE93FC6EBE78F695BD3753823AB90B79BCF7424BBEA4B941BE5A750B3ED8A6583EABBAB4BC119F89BC64F20A3EE98FCD3DABD0E83ED2A527BE1A5A6ABE525C8F3C89845ABEE4B2C7BDF8D24E3E44A2853EC4715C3E69F3133E37DEAF3BC168FA3D4C8EFEBDBCF4823CB2D602BE513CAE3DDE4A65BE9D47AE3D336B37BD98C528BD96210CBC4A93DCBD8FEFE9BD03C822BE9032643E40ABECBD89F430BE825699BC3A8382BC4E004E3C162BC83C7AF9173E09B92A3E927D58BE13B8703CBB7146BE5E5D1CBE9DB82E3EDD05993D76BFF3BD8233CBBD6784153D17439F3E3C7FC4BD9D08D1BD8712E63EB15C46BEC080743E682E04BEBF0BDC3CE662833E37854BBE90AD03BE6B1301BD33AED9BD56001CBD374B033D396B7FBD3116A5BD1C61083E6176A93D9054A83D8FD7FE3C487F2F3CB27BF73CBA7EECBE88113C3E2066B13CC3FBA3BDFB098B3C8E4835BD284C9B3DA3BF0D3E10BF6F3E4C5DA3BC93E2893D71D58EBD927A4E3DFDDB1B3D3533FABDBC8EB2BD738182BDEAD02D3E402FE2BDE4D7713D1A00EB3E876B13BED1C41B3EC92A143EC6579CBD64259ABE007E58BDBC116C3ED09465BE4D44DEBD0BA941BDC14B0D3E4E3281BE78971D3E9C19A7BDEEC9363ECA99713E638438BE18D5663D669D3A3E67B578BDAEC4103DC0B4ABBD170220BC19B9D8BDE126CEBD1433973D0B65263EDF71263E05CE943D6BF088BEE937893D8955483E5D23323EC107AABEE87B59BEF90BB03CCEAE25BD30AEA93D1D724BBDE7362DBD5F975BBDC84F703EE4038D3E7E48193DCBA5733E019D703CD79CD0BDDE81AD3D8C8751BD87D3D03CF2C5CCBE3F15B03E122998BDA335C93D37A91D3ECE416BBEE6CF3D3EC69C623DE414E2BC53A6C0BDF459E2BDE584AABDAD91293E7872453EC3F025BE51B891BE557363BB76FCDFBD10E8873E89C107BDBF1DBFBDDE2B0EBE8428913DD10C853EDB71303EA79282BEB33A68BD37CE953D235F75BD5B84BCBDD5D766BEA0281EBED40F99BA2AA8883E8717013E3CFCA43E067B04BE5A2D283D2B8C1CBED466EF3E8D4B80BEA66DA5BDBC0D18BE804E973DD4C6A6BE15578ABD5A86FC3B81CE80BC061B723ED71BED3E2CC68EBE70D818BE7B369DBDC451713E742A53BD3A93003F8B4B05BF481B183C33B930BC1A94C43E0FAE21BE514DDB3C9F6980BE5FED083E1F58673C439669BEC0FCC23EF5BBA83DEE3E4EBD2D258FBE6E94193E581B04BEB4C9D03D83B0B6BD12E2A3BD6022E13BF55D14BEB03CF2BDE300B13DD3A4FCBD09EAC73E3587493BC2B94BBD660E60BEBBC91C3E9919093E6D7BEC3D7B8E03BDC21AD7BDF6B7563E6128ECBCAAA167BEE630C63D34C161BEAEDAFB3D14700EBE5C07303D47A9CABD93B0853DE305F03C4AD9AF3D6F0F4ABEA18FC83DDDF3DDBC7D7018BECC91CFBC60DA743E597B5DBC452ACCBDB3B2BABD82B3833C6EF38D3E474CD7BD2A6DC4BD7D862D3D832F4FBDAAC359BE361FF13D715F593D057A17BE234DDBBC1239BF3DFBDBCFBD2689C6BC04D34D3D22391EBC3201D93D11A4A43D1F2019BE86A9933D0C62A83D2D9ABEBDA7FABE3DE60A8FBE9A2B20BC6D7B263E85193A3D450802BB02118DBDCD703EBE3BA2963BE9FC53BEECB2683D40E6263EBA6821BEE104CDBD53018C3DFAACABBD00077E3D108A85BE10373BBEDB5A1EBEDDB9623E446B983E5077113E2A26DD3C270F41BE4F56D5BDE920E53D5736453EFEDFF73D8A657E3B013E2BBD2F3203BE79C0CF3BE881FEBD19395CBD27B973BDDCBC0A3D32218C3E2587DDBBED01C9BD5F01FBBC5E73CF3D337D8D3D4A60AEBC2DCE53BEBF28243EEB3F013F20CFFF3D7BF3EBBD95F766BE1EEC6BBC56A6BA3DF2F81EBE573056BE144AC3BD78ABA1BE479C213E48E00CBE6507E23D7D31493A8676333E7028933E153F253E5D823FBE1546AEBD699182BEBFCDCD3D76D6B5BDB6B0873C785F85BD09700C3E293B81BEE8D5773EE685543EC90F33BD5E63843ECEAD353E1BE4093EE689A3BE1143CCBC274F7DBE27E869BE0D4D963E0B2A22BE923294BB4E81933D32B3A43ECC0E923DBF8B16BBC92CDBBDEDC02C3E86EF75BAFB788A3EE403DBBD38FA89BE5A48BFBD0533B5BE2A179ABE8555B43E1ED687BDE294A2BEDD3369BEB52B62BD8DE0F33E514AA13EF3BDEF3BD492C5BE433ACEBD4C0D193E26C9FE3C1EE4AE3D6AF7B73D197DCFBCD9ADC8BDCEAA853E0CD3493E703EFBBB3FFBFC3E44873BBE24FFE33D3EE3B8BD42A92B3E20DC6EBE070660BE78A94ABEE620F93DF4048B3D4921143EDF5A61BE1F623EBDD18FA9BCCDA1A73A858A113E5D7580BE29047D3CCFBCB03E9256B1BEFC30AB3CC6F19D3E5533703D00D03E3D38B4623E2E16FEBDB7239FBD962199BD98E7DBBD1F8498BD9FA21ABD7F09833D923FE83DA3D20CBE2E742A3EE658053DB96EDC3D5F4627BD5E1122BBE21B9D3E17632CBEC66C91BEE6F5B63EED2C1F3E02FE3A3EB8B0153EEFA338BE40E179BE12FE89BDCFED153E051500BDE2FFC1BE71BCBA3E6AAAB43D809694BD17C48FBD0E5AFE3B3D94DBBE3E71BCBD2C8DC83E2D879FBE5671EBBD121F753EE81FA73DC1E9BC3D7C5EA4BDF7F58ABDF898A4BEFD8D583EE59D08BEE4B570BE5C8737BED558793D81AF2FBD935A5E3EA93753BE47E24D3E5862A53D057F653E6E2214BF6F0045BD296472BE46ABAC3E8310123EAA0A983EB0FE89BE00FD4F3D7C2D75BCAEE10ABEB967803C785D663C274F0A3F77C5D9BE3ABD84BEFF476D3D27FE863E8A9AA43D02A578BE7503F73DE21BB83D2987FA3E5C73373EFCA677BD76B22EBF4ECB86BEF4860DBE65698F3EC54C0B3E4EA58E3EBE2E12BEB49DBABE9CD12E3C563E3EBDEEBAE5BDB0246C3E85DA8FBD1EA0803E7802F33DFF36943E02A9A0BE0953E63D6B3504BF1105B73EFCD445BE78D634BEA13E44BD1EFD1E3EB8B8BB3ECCA2C9BDF0863FBDC7A9483EBFB208BE574A5FBDBC4F0CBC88AC51BE77E551BE467D31BEA16B083D01B570BD7E159FBBC64B42BE7536F33D1B16BABDF90EC13D28DA103EA622623E184BE23CDE2E66BDC36F223E48DD13BE4764283EA2A61CBE05102BBEC2A02B3DD661BCBD6CFEC33D08C9D7BC0CE034BD1E8D32BEDB81913EA381F8BE349F96BE496B863E0E8AB4BDAD745ABEAAC5E23E520ACEBD15EFC93E4E160DBF1A06743D85FC1CBE5EA7083EA72FF23EA7153B3D033642BE3BE20B3FAECCB2BE64BE003F071F88BEA873A2BDFF2AC5BE4ED79C3EBEEF2A3E837ECA3DDFA916BC8FD0643DC5D8663EDB6C103D9B845FBD442EA2BB098D07BEEEE3D0BDE1E3FE3CF136F8BC3615ADBD76621BBD85D2D4BDBF44C6BD3B98CFBD3FBFA53E388989BE84CF4B3D569ED93D3F1DAA3BF2DE25BEAF32CE3D9D655DBDB36657BEFEC1F43D2907863E180D0BBE59F0023C92A2BA3E49C394BE36D91A3E292EFD3C1547BA3D62F9ECBE9AF65EBEB736A7BB461D153E06905B3EDCF9523EC49E10BE06F3213E22CD0EBCBFEBC8BD01C2A23DAF030FBE31DA7C3DA86C893D7D4F8ABCCC67CA3D51E364BD74917B3CDEE70A3E0E1900BE33C504BD4C8F8B3D011D533DE671B7BD361546BE1C67243D0C27013E6752ABBCBAE01C3D116A89BE83B92BBE1F64083E66F0473E1AD5DDBC546C60BC30AB183EA7C9E1BD240389BEB3A42E3EC4E49EBE667005BE98EE493D82ED22BE2CF37FBC0BCD513D7E230F3E19C3D7BDB45817BEDCCC2CBE3B139DBD5242803E0ED444BB714336BE955C483C94856BBD3A1CE2BDF58ED2BC3393933D8DE8033E815EDCBDEDB71ABDAA9711BE68F16ABC0D0FE6BD24C0BE3E93FD55BE74A70E3EDCE3DEBDB069533ED7BE0BBE09B5A4BC2F595C3DE13DEB3D6B0973BDE1C092BEC30A4ABE1EBA843E5A3838BD8313043E0F4007BD6D0CD53D66EDD6BD750DB9BEA4D4D0BE4E6A083F591DE2BE6239F23EAFBA6C3E343BACBEC513CF3E9AED21BED621C7BDA3C667BD48C1ACBD195092BD57EF1F3E4AE3393E5D2B2BBEFEAAC1BDE763F7BDCC509A3CF78A263EB4EF8ABD1FED6F3D5F4D30BD96EB113E440126BE56183EBE74BD743D2920893E38B3E3BC19B106BE8D55333E7C531ABE3CAA053E9FAE2EBE079A9F3DCF0892BE9A44FA3DE8B3BDBDAC810C3EE1DB4FBE1539663BA188403EB663E93C4F741ABC32F4B93C6246C9BDF0E738BEB279EF3EC85126BEFF30CE3D6B1FA0BC823D91BD61822CBDAC30F23BBC8F58BD0138EDBD044301BE1979753D4BA812BEADEFD5BD9E0D293D18EBEF3D7FE8F5BD7340343EA68333BE22F6833EC8292C3E95399DBCFBF944BE194E17BE2708173EC36772BED396DD3D9A46583D41F581BE7CDEC93E7B73F3BB0044F7BD53040EBEF6F2C7BD0004473D3A4D30BEE0DA5B3D0D28893D4E9AB53C37F59FB9374403BD040674BD5B82883D9E251B3D128493BDFBB26DBCF6B0CABD1E776EBDEF7A8EBD63E57FBD2444E0BDB3CB0B3E1AE9D93D780B2EBE50C944BE724B9FBE619B88BD4E4A893E95943EBEA59ACB3E9411BF3CA43F6C3D917D5E3E6097853E4160883DBE37A63BF3FA02BFA96C14BDCE48053E795D8E3EDA37043DE00EBFBE292E4E3CB52894BE1755873EBAF543BED83B833DA1D4DF3E6784C0BE498FF1BDADF58A3EFA8FA03DB077D9BD84956A3DF992CDBC365605BD53A2C9BDF7A52FBDD110893D99F19D3C4A90043E1B9E06BE1707D03DEF24CA3EED1661BE4F43A9BEA3D884BE14E0D2BC8F2F40BE699A243DA984043F814304BD7795073DF9CF87BD7936BD3E82EFB03D019D5EBE5BB7A7BE7442503E8A8F2A3DC4D418BD1C47833E82A885BE0356983E70BE07BE0E89B23E78D5CCBE656BC3BC258D1C3EF082B3BE0591CD3E263AB9BB9EFB82BE14F5FBBC3984F8BDEBD410BEB414723D7099B2BD408FB93D35D5143C2F0DD53B8C89C23BBCDC08BCDC2236BE9066E63EB9FD1EBEE7C957BE6760883D753F263EE64285BD55E3B63AF7463DBEF2FCE6BD3DF7CDBD5804C93D6A214DBE271EB63B334EBA3EA76FE63DB95CEDBE279C7B3D2755BFBE7FD3043FFAE0033E7714F2BD2C580EBE9FCE543E5F4D8BBE812E8A3EA82C63BE82BE703E13C315BD9EE7F93D"> : tensor<16x4x4x10xf32>} : () -> memref<16x4x4x10xf32> - %14 = "krnl.global"() {name = "constant_1", shape = [2], value = dense<[256, 10]> : tensor<2xi64>} : () -> memref<2xi64> - "krnl.memcpy"(%12, %13, %c10240_i64) : (memref<256x10xf32>, memref<16x4x4x10xf32>, i64) -> () - %15 = "krnl.global"() {name = "constant_2", shape = [8, 1, 5, 5], value = dense<"0x16E911BCDD9772BE234202BFF73884BD2037113EC08B17BF9B58F3BE48214ABDC7A9443FE9E4863E6BC8FBBE56CF633D6E6D823F18010E3FD621E2BEAA5D23BE0ABB0E3F4B93173F58E896BE5AF91CBFF8B01D3D9B71673E39CD5FBED052F4BE5A5A95BEAC5B23BDA1D85F3E2759FF3E82EBD83E0CDA463D5E38CFBD14C78DBEB52590BBC2F4063FB38BCE3E40751ABEE744A7BE28CD22BE4ECEB73E17CABE3E425311BFA07CC5BE44DD31BE9F82693E145EAA3ED5F5C2BEB3FC6ABEAFA887BD42906EBCFFDF913E8C07C2BCE606D63D6DDB813E1F3AB93EEBE2303F2E7AAB3EFC80D53E3C08C53E70A8A83EE9D8783E092AF0BE55909BBD5BFE13BE65BA31BE70B17CBEA30179BFB33237BF4FC809BF49E51DBF709BE5BE26C24BBE9FADAABE29BAB2BE678A15BE8A3F82BD253897BE6432AABEE8EEA7BEBD37A2BDF9C463BE431AF4BEFDC557BE94A36BBD2AAB273E9BDC253E4C90C8BE5DA0C0BC0773FC3DA4AB2D3DB285693E729EC13DA67BBE3E0EA7603E6D8137BC3D86393EA2B0A73E86C5B33E311AEE3C5F3E563E7272AE3E0CB05BBE3EF4F9BD50021CBB2B2867BE470825BECC5EB63D35E5513EBC1920BED21167BEADE50FBF88B876BD1A24D23EF85C6DBC5829F3BEF06510BFEAABECBDD781113EB6B08D3E3F7C2E3DB2393DBC0DDD1E3C52057C3E3128203F62EA2E3F79BC713EEB072ABEBDE9AABE78C843BEDD205B3DFCF8103E90423B3E104F0CBF4DB83BBFB29816BF03B9C4BE09500A3F8E37B13E9D2C81BE066DB1BE26FA57BE296F613EAFAE283FFEC4BA3E8E7A043EBE60E0BD85B0763D8F0F9B3E78AC723EB034F03EEFA6643E47A5C83D643A0F3F16945BBEA954EABEE4E858BEEC93BA3E4560F93E56BBD0BE69C0DBBE017C7DBE8C71D43E589B993E0171EABED09A9BBE5960B7BD345D8E3EDD5AEA3D177330BE250FB4BE71AD1BBEF884B23E88413E3E142D913D9365093E3C2A3DBD26EDB4BC482C07BEF8C5BB3D562A6D3EB0F2AD3EC102293E71C2C03EEEB5473EFA5DA13E2230113F57ACF1BD7AAF483E91BC073EFDBF433DD1D9083EF975E83C8E7D0EBEFC59F7BDE4454ABEDE9500BF71BB12BD4B6242BE1AE6DABE88CA91BE19EB42BE"> : tensor<8x1x5x5xf32>} : () -> memref<8x1x5x5xf32> - affine.for %arg1 = 0 to 1 { - affine.for %arg2 = 0 to 1 { - affine.for %arg3 = 0 to 32 { - affine.for %arg4 = 0 to 32 step 2 { - store %cst_4, %11[%arg1, %arg2, %arg3, %arg4] : memref<1x1x32x32xf32> - %21 = affine.apply #map0(%arg4) - store %cst_4, %11[%arg1, %arg2, %arg3, %21] : memref<1x1x32x32xf32> - } - } - } - } - affine.for %arg1 = 0 to 1 { - affine.for %arg2 = 0 to 1 { - affine.for %arg3 = 0 to 28 { - affine.for %arg4 = 0 to 28 step 2 { - %21 = addi %arg3, %c2_2 : index - %22 = addi %arg4, %c2_2 : index - %23 = load %arg0[%arg1, %arg2, %arg3, %arg4] : memref<1x1x28x28xf32> - store %23, %11[%arg1, %arg2, %21, %22] : memref<1x1x32x32xf32> - %24 = affine.apply #map0(%arg4) - %25 = addi %arg3, %c2_2 : index - %26 = addi %24, %c2_2 : index - %27 = load %arg0[%arg1, %arg2, %arg3, %24] : memref<1x1x28x28xf32> - store %27, %11[%arg1, %arg2, %25, %26] : memref<1x1x32x32xf32> - } - } - } - } - affine.for %arg1 = 0 to 1 { - affine.for %arg2 = 0 to 8 { - affine.for %arg3 = 0 to 28 { - affine.for %arg4 = 0 to 28 { - store %cst_4, %10[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - affine.for %arg5 = 0 to 1 { - affine.for %arg6 = 0 to 5 { - affine.for %arg7 = 0 to 4 step 2 { - %28 = addi %arg3, %arg6 : index - %29 = addi %arg4, %arg7 : index - %30 = load %11[%arg1, %arg5, %28, %29] : memref<1x1x32x32xf32> - %31 = load %15[%arg2, %arg5, %arg6, %arg7] : memref<8x1x5x5xf32> - %32 = load %10[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - %33 = mulf %30, %31 : f32 - %34 = addf %32, %33 : f32 - store %34, %10[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - %35 = affine.apply #map0(%arg7) - %36 = addi %arg3, %arg6 : index - %37 = addi %arg4, %35 : index - %38 = load %11[%arg1, %arg5, %36, %37] : memref<1x1x32x32xf32> - %39 = load %15[%arg2, %arg5, %arg6, %35] : memref<8x1x5x5xf32> - %40 = load %10[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - %41 = mulf %38, %39 : f32 - %42 = addf %40, %41 : f32 - store %42, %10[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - } - %21 = addi %arg3, %arg6 : index - %22 = addi %arg4, %c4_1 : index - %23 = load %11[%arg1, %arg5, %21, %22] : memref<1x1x32x32xf32> - %24 = load %15[%arg2, %arg5, %arg6, %c4_1] : memref<8x1x5x5xf32> - %25 = load %10[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - %26 = mulf %23, %24 : f32 - %27 = addf %25, %26 : f32 - store %27, %10[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - } - } - } - } - } - } - %16 = "krnl.global"() {name = "constant_3", shape = [8, 1, 1], value = dense<[[[-0.161539719]], [[-0.433835655]], [[0.091641359]], [[-0.0168522168]], [[-0.0650264397]], [[-0.131737873]], [[0.0204175506]], [[-0.121110231]]]> : tensor<8x1x1xf32>} : () -> memref<8x1x1xf32> - affine.for %arg1 = 0 to 1 { - affine.for %arg2 = 0 to 8 { - affine.for %arg3 = 0 to 28 { - affine.for %arg4 = 0 to 28 step 2 { - %21 = load %10[%c0_5, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - %22 = load %16[%arg2, %c0_5, %c0_5] : memref<8x1x1xf32> - %23 = addf %21, %22 : f32 - store %23, %9[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - %24 = affine.apply #map0(%arg4) - %25 = load %10[%c0_5, %arg2, %arg3, %24] : memref<1x8x28x28xf32> - %26 = load %16[%arg2, %c0_5, %c0_5] : memref<8x1x1xf32> - %27 = addf %25, %26 : f32 - store %27, %9[%arg1, %arg2, %arg3, %24] : memref<1x8x28x28xf32> - } - } - } - } - affine.for %arg1 = 0 to 1 { - affine.for %arg2 = 0 to 8 { - affine.for %arg3 = 0 to 28 { - affine.for %arg4 = 0 to 28 step 2 { - %21 = load %9[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - %22 = cmpf "olt", %21, %cst_4 : f32 - %23 = select %22, %cst_4, %21 : f32 - store %23, %8[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - %24 = affine.apply #map0(%arg4) - %25 = load %9[%arg1, %arg2, %arg3, %24] : memref<1x8x28x28xf32> - %26 = cmpf "olt", %25, %cst_4 : f32 - %27 = select %26, %cst_4, %25 : f32 - store %27, %8[%arg1, %arg2, %arg3, %24] : memref<1x8x28x28xf32> - } - } - } - } - affine.for %arg1 = 0 to 1 { - affine.for %arg2 = 0 to 8 { - affine.for %arg3 = 0 to 14 { - affine.for %arg4 = 0 to 14 { - store %cst, %7[%arg1, %arg2, %arg3, %arg4] : memref<1x8x14x14xf32> - affine.for %arg5 = 0 to 2 { - %21 = muli %arg3, %c2_2 : index - %22 = addi %21, %arg5 : index - %23 = muli %arg4, %c2_2 : index - %24 = addi %23, %c0_0 : index - %25 = load %8[%arg1, %arg2, %22, %24] : memref<1x8x28x28xf32> - %26 = load %7[%arg1, %arg2, %arg3, %arg4] : memref<1x8x14x14xf32> - %27 = cmpf "ogt", %26, %25 : f32 - %28 = select %27, %26, %25 : f32 - store %28, %7[%arg1, %arg2, %arg3, %arg4] : memref<1x8x14x14xf32> - %29 = affine.apply #map0(%c0_0) - %30 = muli %arg3, %c2_2 : index - %31 = addi %30, %arg5 : index - %32 = muli %arg4, %c2_2 : index - %33 = addi %32, %29 : index - %34 = load %8[%arg1, %arg2, %31, %33] : memref<1x8x28x28xf32> - %35 = load %7[%arg1, %arg2, %arg3, %arg4] : memref<1x8x14x14xf32> - %36 = cmpf "ogt", %35, %34 : f32 - %37 = select %36, %35, %34 : f32 - store %37, %7[%arg1, %arg2, %arg3, %arg4] : memref<1x8x14x14xf32> - } - } - } - } - } - %17 = "krnl.global"() {name = "constant_4", shape = [16, 8, 5, 5], value = dense<"0x0AE346BD5C65BABDAF37D7BB317C03BE1507DF3DCF86AC3D486E2CBE83EB8ABE4DDB9BBC88D98D3D9CD1223D1AEE40BC316981BD077B1ABEFB48E6BD3F198F3D8987493A89B7AA3D456439BE2AB3F2BD458E5D3B81AA803E1943463EF7535FBD353703BEDD1CD9BE468F8ABE8CD684BE21F7A53DED29B43D8F001F3C3CEF6ABE231B83BD78BBB23CA5474BBDA6882D3E0444713EFB359FBC19460ABE44582FBD3E4287BD029B3E3E55D7393EF95C14BEF69CF63C3A340FBE6FA9E83D6D23D73DB218523D03B26C3D67C91EBEDF3109BEEC82A13D5095EE3D728D0ABE9B04FFBDF21C54BE8DD011BEFCB97BBD90B3ADBD75FB41BE6AEC61BECBC35DBE1887B1BDA4ED843DADC284BE8BDBD4BD097BAABE9FE109BE2B9F01BD78B2E73CED6BB73D08A7DEBD00F03FBE012E65BED851D33D67FE42BD1914D9BC3C14B0BC4E1DEB3C6107443D7F51CBBA3EB5D43D464CB4BDBEFC60BD8C1B9D3D3267D83C03FB83BEE6AB91BE22A155BEAF90923C1EDD8A3D3CB80CBDFAF49BBEEDAC01BE68CE2ABC847AF03D10F72D3E285789BD197E613DFE08333E042C86BD6D510EBECD029EBEF705D6BD0A79BD3D2294993ED6667A3D8F4365BED9F75EBE3C97B1BD83780D3DA082F93DD9DC12BEB3BA10BE60B5D8BE630311BDBDCA593D6827C63C96A783BC1E99F6BD558126BE9F22C6BD5F06123DBD925D3CCC4E133E5F7CA13C6FA2ACBEFF8264BE31EB25BE987F2B3EDF70E73EF81F893EBEADFFBD197E5FBECDBD18BEE2BB9BBD50D7833EC3B0D23D7F4F853D9282D7BE69749FBECF8413BD07AB3F3D4985EA3D390F5ABD566D0BBEFD5D88BE5A2E5ABEEFBFFDBCDB9A5E3DCF9E2EBE2F5B94BE9FA729BD358F7CBE0D5FCB3D52EE473E180DC9BD927D8ABE175D19BEBA41AFBD2F95013B88885D3D7A7A3F3DC1F124BEDAB4BE3C5991853D8BD47B3E4160783D703A523C4BF9C1BD29B4D8BDC9D86A3EEF34513ED31BB8BD297B7DBE95BB133E4FD2543D1940C4BC5FCDCC3D88F869BDBE589BBD524C6BBD3C90513DF452B13DE4147F3D1C351EBE9BE30FBE749EA53C1A69E23C2423D0BD805EEB3CD41403BE947268BE6F9D89BE4E70083EFFE29F3DFBD4FCBD19E314BE120E31BECC69993D42E05B3EC4DA98BC1A583EBC538D21BED4F220BD10F66ABCA8210FBD08D00C3E02E5803E4327333D860BC9BEE08D9FBD6593193E4721533E6C5010BE8CC745BE839A31BD73C8B83D47485E3E0F09ACBDDF144FBE9EB906BE838ACCBD2E47E1BAF127BCBE86C79EBE632FD3BEF5AF04BDBABF13BEDD6FAABD9FEE84BDB82288BE5FE871BD558BD1BD38ED143DB76A0C3EC28719BD4222BFBDBE15E23B97DAA53C886E6B3ED4BF13BCD3482FBE28BC38BE12CCBD3C3CBC1DBE441856BCCEFD07BDCF84AEBDAC3F63BE781781BEC1283DBEE34B66BDE799C33DCE58D4BD33DB2DBE9B2321BE3DD9EE3A3F46C83BF293C4BBD10E563E6DDD823D145C293E48A28D3E667D6BBD6536B23D9346173E3DBA0B3E23481CBCCBE2023ED9CF90BCE2879FBD57FA05BDAC441BBE92AF0B3E1946F63C986292BD772321BE3E8FA3BD9A23C73CD69BD73B1F000EBE3750E83D1724733E245989BDB45002BE1279C6BCBBE45E3EB34A763EB6AE69BE09740CBC23E348BEC7E4B6BD39B736BE99E84BBE75729EBE86B3E2BDC66AF4BD05C42A3D2B1A3C3CE587B9BD855C25BE867E25BE79C1BFBDD544CF3DE8186C3E2310AB3EAC8922BE6946E5BCD5EE1B3EBBD4073D0EF7503E7859DC3D9C38023E848AD83C4EF93DBE395C5CBE87121BBE290847BE413CD0BD2ADA88BDDBF339BEDDDF66BEABDE7EBD706557BE3971B2BD7AD806BECAF0F3BD5F2B19BEFEADCC3DD0D4F43D5CEC693EBB2EEABCFF24353D404C213E6C2DBC3D00E7683EABA5B2BCF749443E3AEB963D9566483DDC9920BD91BA40BD00696ABE550814BDABAE293D4CF99EBDE7B185BE7CC7BABDB91331BE3B1074BED5AED53D6075FFBC29EC82BB86554CBDFFBA0B3EE0735E3E567D4DBDD1F02BBD4DEB81BD8F218DBDD1EF0B3C0574793E2F3A0D3EEBBD36BC0B5C12BECB60E43DCFC7953D24CAB3BD7D2D493D1B8D3FBDF10940BEFC632ABEE31050BDE294ADBD8DC2DB3C2A23B1BD8CF43EBE6837F13B6FA70BBE1FEA76BEBD138DBE8C1CD9BDA92957BA3D8D9EBDA79DE63DDAE7C83D874622BD2221033EDE3EB33D97748A3E7A8C4F3E6480543EF404233DDCDC18BE04A8BFBD73E1DCBD686247BE6DA68ABE507020BED215DABC4CB8C63D965A0EBC615277BCD2F237BE1C0F70BD6C03A2BD88F961BE8559DC3D834402BF74AC9EBE73D611BED807643C624808BD84907ABDFB7269BE33F52CBE4765F0BD375ABABDF006853DAC4671BECC3689BCAC60EF3C67B5563E2C732FBE22B4A03EA768633ED51973BE08DE2EBE8C3A5FBEE0414B3E0BFB2C3E4E2D7C3D155B2FBDC06989BE92CC873DA175953ED2CC193D9B592B3E63CFA5BE578A84BE5AB794BD9E1348BE761B913D91679D3C487595BD8A6D61BD904BD8BC468040BE2A40BE3D9ED641BCE9AC3CBE3DE8F8BC8C04A6BDD44BF23DB9130B3DF53B1BBE6539FFBD1041B83E95929B3EE79C233E9679F03D8B03323E29745E3E46B5C9BC907D54BDD0ABA4BC50FFD93DFA76ECBD0EF0D13D2E1682BD3D9BEEBD0DBC08BE07EB94BD581CA03DAB05A13C2E7CD93DC054A93D0B131E3E9B1197BE9DBA44BE50AE95BD1FC5433D17AD4E3E47D262BE4E5592BE52C9C9BE7D3104BE2B598CBD2B2E823ED38FC73D55966FBDDA9F0CBEE98381BEEADA873EDBE5393DEAF87E3D23DD373E1077333E364EB53DC058BD3CC8BD9DBDF9EE9F3DCFB93EBD008CACBD5A5784BD4F8800BEF622ACBD40B8683C7C0E113DE49728BEDA807ABE3B23BDBEC7D538BEF3BB0E3E85C1D23D3DBFCCBD7C171FBEBF8ECDBEB114A43D6750EE3DDEFC473D0CE2533E907ED63D730F98BB812A773B285A41BE4277BB3D82A3B5BD093E3EBDA49D25BED24E1DBDAA3347BD138854BD74FC863D0FCCB33C7CA302BE344946BEAD488ABE5E4CC13DAAC3683ED84CC33D0BCD26BD21A373BE3F6B0FBE693A243DF8F15B3EE82F8E3D2EFC9B3EDF6B8ABD962377BD446A63BC94A7643E63A9F63DCD0380BDCA319FBD8BD18F3BBD4287BD02089ABE1A100EBE1C3662BE5F3225BE72598BBED16491BEB9CE5CBE3D0A97BDCEA648BE00E58BBE316886BE56C43EBEBEDB663E2484AD3C4AEC543A1E45373C8CCE863D53F909BD147653BE148B52BE047154BE4276A2BCC8E04E3D0E8A9A3BAA144EBDBEE2713EA0F383BD03035B3D62BE893EE5F6B03EF964513E6DBDD4BE210D7CBE0BFFD5BD148737BDC2A0DC3CB650B23D77CC65BE067E6ABE9D43D53B081794BCF538AC3E213B533DB3A3D1BD8CD66CBDFE1924BE93E81EBC903F56BEBCECB23DAC43CABD53CF0BBEE54950BD1A4F23BE6166A63D28F26F3D1AAF67BD24B23DBC0EBC00BE175D1D3EA7EC10BDEC80A7BC83A929BEC573A9BE9B9865BE290E953C9F6369BEBC018E3D988CFF3DCB5AFE3DAC9E4DBD551DBE3A68C0C73DCBE1853E67F62D3D1CEDBBBD3536883E4054453C3107823DF95D953E6BD856BE28DBA5BDF3181BBED4BB8A3C8907D73C1D5093BE055E1FBEF052EDBD3EEC29BED11547BD2F50BBBDE951AFBE80EEA8BDC3E915BE99BF7C3DA89283BDABB1D73D2984053DAE7624BDDA6A2BBDC0ED15BEBD773E3DBC3044BE2612C7BD993EDBBCBFB60EBC84D83BBEDA10053D87DA603D3575673D7253B93D872A95BDB6FF263DF807913CC1C5BD3C18ECAE3D6810963D4D4F973DB587493EEF11083E981CA6BD7183BCBD1C8DADBC8208853D2960883C6EB84CBEA0B6C8BEC1A35A3D5CE1173EAF8082BCD2C73FBD362D40BE32D81EBD27C4C4BD693477BEDEFDE1BD0EA3FFBD1BD746BED83358BEB801B7BD1DB9E5BDEF834ABEE3B5E9BD631A74BD852DCA3D52B047BBD63FC23D9F668DBE84708DBE9DF1DB3DABE92A3E0B081FBE9AC8CDBD691567BDB1752DBE0085E23DD0C303BE1C1E69BE7C3CC5BD78BDD0BDD1F4D1BD2B6FBABDA650CABDC5A801BEF7A78FBDCF8709BD91DA50BEADA50EBE6F2A66BEC420ABBD7274C33C7BBA243EF8A821BEB81372BE68133FBEC7DEA93DC4E1FC3B077742BEB2DC16BD389211BEAAEB3BBDA043173DC9DF90BE5C7D29BE7EF63DBE54916BBEAB8E36BDC72954BE191E7FBDCBC4D9BCA3F6B9BDB3EC90BC04E95ABE81072EBE36EA4EBD8674243E637AD6BD9DBC3CBE596EA7BD969FC53CD9E9A13E1DECA8BC6DCB17BD573C82BCA7DC8E3D81E9D03E46D1443EC5BA1BBEB2F8A4BD057E423EABDB823ED9A8B93B863982BD20A0C0BCA2BDE93CDF26DDBD038AA0BDB9E7E23B5476F5BC4C80503E0A01D33DE75F7B3D3CEBD8BDCE149D3D2DE9883A37D2443E39526F3D9E2D56BEACC9E2BD484E1B3E581C18BDC2E75DBD4B8366BD3A3B2D3E9008313EE12D93BD0A8C1EBE7245C73DE9ADB0BD1AA41A3D45B6F8BD97A334BECF5E19BDD12BF8BD0B4D85BDBBEF3DBCDC723EBE5DC5333E8688693E496DE63D0603AB3D6CD0F6BDD5F32F3EDEA35A3E023F603DCF55833EF9E538BDA2209DBD7C03F1BC2508C33E8A3EF03D9ABB813C139437BE4B2290BC790ED73DE950E73BB04A75BDA59B92BB52CB0FBEB5CB88BDBB2F47BE644F44BD11B9663C568C59BD1F94C73D5FBA3A3ECA758B3E36D5173ECB2FDFBDD81FC9BB603F6E3C0715EF3C00AC2DBD9E3315BE9BBC87BE02734FBEC2656DBE220E443E06B9083E23B31BBE869C61BEE25296BE84D993BDE76E56BD4350903D6E1A2B3E39EF263E76B639BDAF5629BE3C3521BE3B9BB0BDD7960FBC79C185BD4DD7EFBD760394BE3BC311BEA73B8FBDB44E96BDCE99403D65C4903D91C03E3CA58BC83AC02F893E935BD43EBBECA93E1D76593DEFE9BABD887DBABD71EBA4BD56D19EBD9ED51BBE2A388EBDFA8D23BE171B903C5E6B893CB883D5BDCB6A1ABE00AD0ABED81461BC0E2BDFBCDAF7F83DC8FE4ABEF05BD5BC8605D23CFDCD71BDA0FF663BD24EC1BD5AD505BE84A471BEA7E0DCBDC30D89BE09478FBDF95BDE3C061E963E8B20783E0667E83D9FC6C23D7C4F94BBCB808D3D333CF23C18F506BD6459ABBDD61620BD4B20143D663F76BD50FDAF3D417E8DBDAFC01A3D16ABE73DD12C95BB009D54BD011187BDAED71DBD640A92BC9BCD5DBE488A87BE75CF6FBEE1610DBDE778C83D6B4D3B3EE918243E42337B3E8042333DF6174A3E32D9963D4795653E93DC75BD40DB8BBCC13FC6BD099CC3BD2811C53B369D00BEEB39C63DCA68243E3382C2BDFEA787BE2FE350BEBB75613C1E461C3DF1E2BFBD2A0721BECA3092BDCE3FDBBDDCE708BD071F183DF8DDB8BD4890ACBD71DE00BECAC61ABE1A6EE43BAF65553DDAD6AA3C103EE63DE352D4BD602C193DD34E873D8AC0DE3C1C31623C052CE3BDC2FD6CBE2DC23B3DE388A83DFBDA66BEDB00D2BD9923DFBD0266C8BDAA82FBBCA5A5413E22DE353DC18B9ABC4F880ABE33402FBE7C04393E5556DD3D27CE82BC00600BBE681D5FBE75DAF2BD551FB8BD481403BE1FD175BD33A4BEBDBBD428BEAC7F8DBD54FD663D4F80A83DBAE701BEEAFC9D3DA73AA73E1B09233E9DAA25BDC0E200BEBD39863EBFF4A33E2773EF3D03BE973E8CD4D23E45D382BD693EC53D4EC2D0BD8F1094BD20AF913C0EFBF9BDAAF58C3DC7FBA4BE8A11E5BE4F4359BEA08133BD378152BE64314EBEC8C567BE5A6AA6BE90D73DBD06FA1CBE40E035BEF04BB6BD03FFA6BED6EED83DE21A963EC7D3BC3D4402DCBD4F35EFBD701CE53D547D243E32AB433E03D38ABC9212BABDB6060E3C8546B4BD2B6A623ED4D7A23EF0F30DBE54AF773D979C243C926A663DF903653EAD9F273DBA4984BB1BE3493A067A8F3E1273F43C974C0BBDB16F52BEBB315DBE7CCED2BE773E4ABE4C965DBE030B06BE25F463BE4E6E81BE655389BDEEEF03BE3AC8E53C4610893D0CB6A9BC7A7EAFBD4E212A3E16000B3EC21E553D0DBF1ABEC5CE33BE0B21513E38C763BDB4E41EBEB55181BE90B6363DD650293E83969F3E13843A3CA541763DA4741BBE4E02E03CFC2E3DBD5376CBBD3D33B93D15B5FABD35DD66BD4B46CABD5779E6BC97CCC6BD5391EBBB083638BEC51C83BD4E87DEBC54B58ABE3F7A38BE9217BEBE4EF57B3C8F0361BEBABF93BC78651DBE5E812ABE5BBF03BEF28D8ABE040F28BD5F64223EF263E53D6BF4A43D348249BEB0FFB5BEAEC10B3E515E5F3EB055F73CB1933ABC54F168BE763B81BC48422D3EE7611D3E8DE5803D1A3420BE9217503C659D0F3DB779D3BC43BAC5BCBC9B39BCACF4253D5EABFF3B2ED4D93DE5E22ABE13DDAFBE6DC5A2BD082688BD2F6BC1BB10232ABE5EE0BEBEBF845FBE4E07FA3D05AB923DA0FFEEBD766885BEF245E4BD9CE2AB3E3805C33DDE38BE3D0F6FB2BA87C93C3DCE72DE3D26CF8CBDD111923D68C31F3D947A83BC41B620BD01981EBE29A4FF3DB79A563ECE4309BCB239853C63F4073E221F893D9B1A12BECA10453D15DD223EDF572B3E5920F1BD077510BE87748DBDCC82FC3D8F7ACDBD085007BD771C92BD564951BD2D5F5CBE4B7D21BE63C8EF3D3BB72939A9DB163EED9E6CBC1BC79D3D170206BC23D5C2BD85ECABBCE2FBFC3D2B5C053E80569E3DDC3BB63D5DAA5C3D029D4A3D1C3B53BDA0AB243D0E98763D3C1EA43D60BF4C3E71FC3C3E0CA381BD537178BCE0B7CA3D791C4F3EB2EAC2BD420124BEB12C6CBEA97A8BBDB3D69BBD16D99B3DDEF8323DE37276BD88295DBE881A1DBEAB354B3D37CE613C34D00DBECD6C003E4860BB3DBD78ADBD387399BD788FBE3C14E4923EF77D943EDAD5C9BD2320CBBD4D4B453EC77E7CBCA5E78C3DF13F36BEFB51653C9EFC18BCC0DACEBE651CBABE3302C93C52A6EFBDAC9049BE6E9E78BE970197BE4185C3BD72FD98BEFB2E56BED23084BD9189BFBD35C405BE93189EBD1F1C7EBC1E6208BE54F5CD3D86A33CBE833AEF3D3B380E3E2F2906BE6479AA3CEE8A433CACC3883CD27CFCBD588731BE25D4DA3DCC3D53BED94127BB474DA4BD7F6582BC63405F3EF7A84ABE43602BBEC62383BD043502BE355C073ED23619BE4FE7D8BDC24586BDCBC5C43DFA42E13E8E72ECBDD5F043BECA7B29BE522C05BE81C372BD282352BE27D299BE39E00FBE7EDF523CF69A253EA165673DE6505DBE3C1F12BECB4F46BD0315853D5B77CBBC7D9756BEC1F807BE7539553EECA9983E7CABCABE6F6CA13A337C243EFCCB183E781230BE768E65BEC5B0FABD8EF6FB3C22FBAEBD8FE875BE712D54BE163DE7BD164D9FBD2884FBBE7C7A85BEE876C03DAF4877BD281330BE063CC2BDCD52713E40F0F43CE2F508BE7A2DEFBD2073823D418D463EE946953C8E6AE6BDFD6FB8BD86C074BB6A0C2ABD70BCE23CA95089BDF455DDBD0A16953DB7DDC439ECBE0C3E5542A3BD94B54D3DFBB498BDA2A0143D98C5893DF0BCA03CDAB2E6BB621D21BBEE18163E9D96B8BDFEF18CBC5ADE42BBE695263DBB76083E044045BEE5C01D3D659A9B3DA77F1FBDB38B503EBB965FBDE2FB07BE64DC2EBEF726AA3D543E133D5F1E073EE0EF673D017C17BED1A752BD5B12CC3C3681C23D1EA4B33D81EF3CBE94A8A7BE6E7730BE59B87F3EFFFAE33D9662FABD188288BEA4CD63BDC546AD3E520030BC3FCA0ABE392FBFBC036522BE971A083EBE972ABE5E16163DB101BA3ED94FADBBEEFEB6BD8ADB2BBE06B8D43E0A10AC3D31E8B3BB8FE830BEACF635BEEA3482BE497244BEAD125CBEA5CDF83C89279DBE910517BEF51527BEEBA5B9BCC8B922BEAFA2B0BE48CA873C4ECC823E68D1D63E600235BE0BDD26BE720E193E71BC4E3D3FC22D3D3D16A7BEA73CA2BCB7CDB03D68D4383CD6C431BDCBA0D53CF4E5BC3D2AD00ABC3894BBBCB006E0BDCC8E433DA3CBB03DA521B2BDA9F4D3BDEDD272BE7325793C80D69B3EE1ED073D22C42BBE20F3DC3D7153123E1121223E9113D0BDCD1E673E9F569C3D5250113D166213BC88C67A3E2386323D19E3073E546EEEBDF65A403DBDA400BE0C9605BEE199843E99C2153EACDE643CED2D39BE603AFBBD6AE45D3E4590053EA0E67DBEC6D39EBD1CAFD83D91D1B03E6FF51B3EB3B638BED53A9C3D97CB25BDEB94A13E6E4A71BE5B46CABD3B2DAABC25C0033EFF6EFF3B480F64BD1BAD26BD4D47943CDDB39B3DB6F017BD8D6A46BE9F408CBE2938703D71A0A23BC00DC7BDD06449BE82A99DBD18E7623D330E15BDB14183BE8724123E59D28B3D25C00CBD4BF85CBE15464DBE637B323E038221BCBC3F31BEF2F6813C978D0EBDD718963D92CC173E0007673EEA2AC03DC5B9CB3C4A94D63CD66E403DAEC1343C686CE8BD653A053E4C01F23CE65DA73DD57D34BE9BDB82BE7D12CD3D4E26E7BD5D3569BE135983BE0D044A3E011E983E8F7B0ABEC55B2EBE965B3DBE9FA7723DCC74A93D826EFABDB90BF03DB00E7A3EBDD7AD3E7BB824BCE6AB52BE030DE1BD160283BC46BEB0BD391860BE3AE69CBAA374C6BD087692BED74681BE751297BEC68E4BBEA31B7DBEB2ED84BEAA03D9BDED711BBEEED807BE6CFDB1BE66D8B4BE84B0DCBC520639BD3EFB093EB52E863DAC48F03DFA943C3E9F6E513ED4541FBE57640DBEC2A83DBD9D8B823D973D4A3D372939BEE90E78BD43906ABE5B88E3BD4B6D8ABE9489AABDD8D436BEA6DB8CBE83EB31BE41B36BBD54E282BECC5CB0BE0308AABE769707BE43591ABE9ED73BBDE39738BE9D26A0BCF10DBE3D80729E3CA2E657BE3045BB3C454D09BD183D0FBEF5798EBD7A8333BE5316043E05EBC23DD24E2DBB318E0EBE2C53C7BDF5C4183E3DC39F3D2D6282BD30CA00BD033D4DBEA2FB7E3D4D7C1DBEE9550F3EB48E123D091891BE8CD7A03D6364063DAADB993C4195FCBD0F2898BD2DA62A3EDBA3353E6D131A3E515637BEA930963DAD73113E687B23BC25B65ABE1E9948BD08A9413E357A03BAE3AC78BEBF2115BE2F5C08BDDEAED83D3685A1BE91A31ABE1001533BC8A5173EBD8265BE1E8D81BD9BB959BE784B2E3D92E4BA3D15422CBE50EAE7BBBBE799BED35D72BE5E5B41BE6F137DBD807D853D616E9FBE9F332BBE637265BE2B89C0BD636BC1BD47FC533E3F5C083FF1CDD23DB5220EBCA7E0633E7D59C53E0C7F813DA9F53F3D6E4F75BE3AA3183E8886843D7A843D3E13A4B33DCB028DBC28BED9BDC34E153E70F5933E6CF9DF3D24A2DEBCBC2AACBCF97188BD80EA6E3E39FC1A3E02E440BE548C8EBCB4EBD83DF7438ABE6734A5BD6B34D83D3A9C36BDB28185BE1DCE3ABED7C1DF3DBC8C25BE9064353DA573CF3D2021C43D84234BBC31FCE2BD7B4D7ABDB88E9B3CF484C4BD3D74BEBEBE18F73D5C5F213EAB983E3E09D753BE5F9B4CBE8C7B4F3E051DDB3D90E314BE3A3B8ABE909D3BBE08B29BBDBD88D3BDBCC599BE58A279BE61871DBEF9B15CBE57961E3C18B3433DACD11CBC25F617BEA09D32BEDEC651BDBEF5EA3CD00F1BBCEEFB33BE9A43B8BD6DB2CBBDBD98A4BC022A83BDA8C65DBBB11043BE4803F13BC703553DA174403E99A3C03E0C2E063EB9236C3E72918C3E6A10443EA9F19CBDFEFEA8BC82E9D23DE177DBBB9A7BDEBCCC0C933E8A0F16BD9D03663E2BC23A3EE8B823BE8B19863DEC42D6BD16843EBE4F8B95BDA95A2FBDA4A0AB3D05AEA5BEB982C53DB18A05BE60EF2E3DA7CC10BECCAB60BDC0F188BD8BA232BD0A243CBCB0BCE0BDE496A7BCE1FF9CBA6011CABC510299BDC6ACA03E18C5D2BC771B313E89232D3E89325F3D7F4A6F3E8A84523D1A3DA7BDD78CA1BB8CCBD5BD066FBABD3B8405BE2233CA3C1113BE3DB29DB7BD7D8B5EBEC9B5F2BD2539AB3DE30414BE0E6A99BE077071BD011C543E390E01BC6A521E3E8C11093C5C1D903DAD73DBBD269C47BD3C5F85BC0F31EB3D54F5403D0BB4B2BDBB157DBEE705A1BE73E959BE59D388BC04C4D5BE6102AABE000DF2BE9200E1BE689C94BEF228B0BEB83DBCBEC965A5BE455DD2BD250BF13DF6344BBE976AB9BD882269BCEA90A6BDDD6311BDEF25C3BD4B7166BD002AB13D250810BE4921D4BDD15F1B3E3E18263E6037D3BDA033B0BDE9054BBED34DCABC05F386BDE5354D3D730CD33DD2371F3EB83B43BE1FD2D3BDFCA1163E9CFACA3DF551D53C224074BE7F72B4BCF76F8EBE8A571ABE896F273ED504B93D2618613D799959BE1ACC333D8D6C5F3E5BDF0F3E6015403B2A59D8BDBC4B043EF280343C12EB753E3025AABE7163B8BD51B115BE1E305FBEAB8D963CA28ACCBD8396BBBEEDA8D5BE4854EEBD9042ABBC5E4EF33DEDB4333EA642203DC11C39BE0BBCC63B613881BD8F8CF23DB672D33E1F70DFBD3EDBD23D0CEF21BEBC69113E139A983E39B2B83CA50F1CBEE6F2A0BB9943053ED5DFE63EE8F7933DA97F05BE3D8109BE5A6B633BA943543E6DF6153CE013D03D089491BCA685D2BDB55387BD8B54B1BD85F9F93DF992453E1317D4BCF9D096BC49B734BEA11BACBDA854F1BC233C47BE1122FDBD4DC8B9BEEFCFEABDA35BD1BD1909BEBD8F2B193E003A1CBE235668BEF72516BEF11D19BE5D7ACC3DF07C953C0799703ED436DD3D8C760CBDAE7455BD57928DBD00FD0A3E87AB283E827646BE48A3F13D7EDDB3BDC97E3F3DEE711EBEDD9BF7BD7EEAA13CD49C28BE6920033DB48A92BEA40983BE62CFA63C560FEBBD7BD253BD354955BECED34CBD8F3789BD303B86BEBB93243D650F37BEBA03C4BD81E9C6BD37CA84BD2E01503DB09CA53DADA110BE7A3E17BE0A3DD93D47EBEDBDAFC3C2BD8E868ABEA8D0EFBC7D26303E59F3B6BDE7F3EEBDDE7116BE6A177DBCBADABE3EA34BD9BD1CBE95BDB2CD5DBC0547C33C5E8F0E3E4361B63D3B7B57BBE3999EBE49B74EBEE25601BE7366EA3D518CF23CFC355ABD660C8EBEA56D48BDF925B4BD1C9FD7BDDBDF95BD81A556BEC0A219BE49CD3F3CA13207BEA9BB0FBEDFF20FBEFE39ED3D11B1F8BCF4B138BE7F1FD1BDFFA3833DB6323E3E324950BE13FD63BE8CD9B4BE612535BED0117A3E44E8C6BD5AED5BBCFAF255BDF18481BD3D41953EE4F61BBD681A233E3A402A3CDB1A903D222FA43E7000D13D16DA943E0A8E153EA81A233EC3F2BB3E1898403E192E903DE1B8C73D4C70ACBD8ECF913CD897C23D090C64BDBD78BA3DD4BD083D9E6B333D1B4D43BD7A0B5E3EED7F7BBC3E4513BE4F33993C4789F83DD450323D176B84BB8C7180BBB6F93FBED58A9C3D244F5FBE3616FFBD9B71333EDD1A38BE138105BD95B6A5BEC14959BE38322ABE0707863B4291783D8528A03DDE0717BD54A067BC8216DDBD6B64DC3D19F7193E91BE22BEA633C4BDDB7E8FBD690548BDD81D02BE722CCA3CA8C6DE3C5D7EF7BCADA757BEDBB0D83C14CB093E45C4EC3DD81547BD48CF183DDD25893E3541D03DEC1C1E3EA98AAA3E6A269C3CDF948DBD5DD2B6BD579C0DBE54AC4BBDDFBD8A3D4D531ABEFA5AA7BBE4E4813C8A5134BD4864D43D92E96CBE7FF3C7BDB71D98BD9EB7723D9D39383E2652A7BC9C7E553D65049D3D80069BBDD442FB3DCF5B3C3D82C2E53D9CA5283EE2764EBBF653AFBD478E2FBE61E639BEC2C14CBED2A5E1BCA01AD6BD7E2F21BEEA79A0BD80005CBD9F38903C2A6A38BDF6B9D0BC2C6F7BBD8C6DAE3CAC7E863D5C2103BE8B2F9E3D3D6E293E19F3143D5AAF6BBEF152113E9AAC693EC22DA33E2D903FBECA41C8BE89C798B9A3104DBD4929EBBD89F7F8BD49E5FD3D01E59D3B630622BD96E32EBDAA3A903DC17633BCB53C6F3D02F2C5BC951EB33D412FEE3C03C8BF3D09FBA6BD9446C63CADB15BBD600891BDFF2F73BD428C77BE682F0DBEADE581BEE293D4BD8462B93D082CE0BBD5FD3FBE5C3262BE41FEBBBDFCE06EBB910D4DBEE32D04BEFDDBC1BDBDB5273BEA191D3CCB04493D031E853E407E003DCFA08ABDCD2A6BBD6279423E375C513C9F3509BED8F34DBE8995E1BDE95623BE0E144DBDA1817DBEDA3327BEDD3E723DC73844BDC53A9FBC06732DBE417AB93BB1ED9ABD63252CBE6480B4BDFD072ABE7BE4E1BD6E291BBD20422C3E27FF583E9A1F6D3D58650EBD43A7D2BD22D7DA3D65FB3F3D490744BD97B843BE9E5DF0BD0FF343BEF93305BEEB4325BE87688CBE1776E9BDB5B716BBC5C809BDC8832CBC025D25BE78E609BD5D9E493C5680023D0999E73D985D98BD8D2510BDACC6E2BCCE040C3EEBA182BBB3AFF5BDEAD14E3B1D174B3D5D3C0CBD307983BD5AFCCBBDA63DA2BD927DCCBD3699BABCFA8D063DD4519DBD599A813D02ADBDBDBA3F6FBEC01134BE5272F8BDD70FF23D345FCE380F332DBECEA012BE4942B6BDD357BFBD2462B9BD26C099BDD897A4BD8BEAC4BCF07EE7BC772E9F3CD06C433E852E513ECD64963A8877EFBDAD31713E3356623EDC62B33D7FD081BE9141A3BDAC5E75BE72FD0E3EAA5F6A3EAC7335BE045783BDF46530BE01C246BD05B900BE101E9DBD0FFB89BDAD33F9BDD2A777BD676F993D065AABBD300A24BE873CC63D5241D63CFC28EDBCFD8BE63D8B34AD3C4B72713EC5870D3E814030BE5C4D833EF0E9193E37B71DBEC315A8BB66D8D6BD95BF013DE95403BE569D833C60F9CCBDDD46273DFBE7AE3DA66781BEF56E9A3C9E1C70BBEA99A9BC53181ABD9FBCB73DA81DF6BD74F88BBDCE8E9BBDF005DA3BC05AFF3DCF5101BD55958EBED4F1B43DCD00BF3D2494533DB9C5513E98E2923E5E91283D7BA72DBE59C4B53CEFC20DBDE05C9F3D952FF63C48F3F0BD791C05BEB1F50F3D1C987E3D84F2003E675BD4BDD99473BE21FF063C0F93743D783D493ED852743CA2C252BDF1F6073C7FA9C43C83201DBEECD268BEE1D932BEEE4BB2BD96D5A7BD81CDCD3C23CC4BBE2D109FBED95E86BE7F3855BE369701BE7FFAC0BC94921FBEC0BB16BEDAB8D1BDB07ED03D6D2F233DD2FF283E339062BD225D21BDA67BE33DD8656F3DE12CCA3E6D11153D2082D03C1253063E61C6D13E5BE4F03E67F8F5BBF815DF3CC159C63CA521DBBCB37F02BE9BC3DD3B47A3C33D91F6783DC2D4B2BDB113E53C6119DFBD9B5FA53D01FD5B3C4DA41A3DD0017C3E7FA7BFB736E9ACBDEEF759BD406D7EBDB438BA3D88EA183CC6902D3D8C6924BEC16F2CBC363756BDF2AE313EAD794D3D7E13CEBD4F1D4CBC0B34493D27E51EBEAE64633D3874C93D142007BE8123D63C8032A83C79FC963D7B32FC3DE2EE26BD552BFC3DD1A5903C2348C0BDED0F303DE5681A3D5246DABDD8B770BC09A7EA3CFB969EBA32920BBE209DBDBEC2560F3E0E6E92BDB63A443E525C583E329DF3BB7029B33D5ADA0F3D4A148C3C5998683C394F283D6FA872BD079A5DBCB501CCBDF4DA09BEBD3B5BBDAACC573DAD650CBE8293F9BDF42102BE78F701BE46E0DE3D74B5B93DE81770BD249D99BD784BD5BDA505593E04CE583EE2AA8C3D231982BEC8EC24BEE43B8D3C88FD2F3DEAB7DD3D0FCF26BEF76E7FBE0E79A43A92EBBBBD6D6091BDA281CFBDF9BB59BECB4A6B3D31B8633CC1F257BAAAD606BE9BA05DBE9952DA3CA06D23BD487056BEA38AFBBDFF06D03CDC4D1B3D5EB1F03D3FB3F5BD53252EBED27CC7BDC7FD503E4FEC413E2C432ABD8FCE3F3DC46560BD9E0D9ABDA009A3BDFD6CDEBD909D05BEBA419CBC5A7B55BEE40A01BECC4154BD473D09BE3B1083BEC6FC41BDFA881E3D8DA125BE8FED41BE146673BE470DC03D5384013D6F85303EA9EB1A3ECEB9883D3B2F8E3C25707EBE0B8F8D3DCED9A93D16C3153EBD00183E65B92FBE825EC1BD6ACF4D3B9EDC403D2974183D6C7BB6BDB316063D4B7C31BE96F8FFBD2FE7F53D3D6B13BCA2B2BD3B54A853BEAEA8903DFE5A96BB5F7CACBDBE23443D1F70593C39F0283D69119FBD85C4353D5AE29D3DD48681BBD964373C38626C3E3B5F103D440B12BE469CC9BB8277E23D03A2233E5F37B3BDE4024BBE6F414BBD725EC5BAE6791DBD34E820BDA964903C974A553B4F103FBEA7CD843E5662F63B936073BE28BC53BEAEA2493D9754E93D240819BEAE0193BEC0463DBEF08ED7BC0A5266BE54420EBE722A53BEB4600EBE8B64A3BD184342BEB5DF09BED60B15BEA16967BDDEA216BEF760443DCF7E6E3DACABACBC29A0833C7E7A3E3ED2395C3D27408A3C6362DCBD06C51B3B99472ABE2506E3BC806493BDBDC315BE38B24BBEF291213C6649FFBC52D4ACBD474269BD5523F93C10E116BE5D5C7ABC59F9313DA1FBCABD00A9893D2B730CBEB547A0BD2375793D04F0F23C5A95A53D49D3603EAA50FF3B1FF534BE09061BBC9B365BBC0A0F6EBD9E7A5FBEAA9B35BD8E1B0BBDAD7135BE8940883B71EE81BDDB2FC33D220C74BD14862FBD93EA03BD548B8FBC7C1E5F3C2E6F423DE35B37BD0D9609BE9D0F2FBD43D207BDB87128BD6157F03CE591763E83654EBE6E7184BBF0D51D3E639E36BEAA1340BB112B75BC8F66463E39960E3D7F2186BD3625563DD3E9803EEF941F3E0620E4BD3A518DBDD1BF03BEAAAB8ABD89F362BEEE5998BDBF11FA3C37F24FBE4AEF63BEB79CECBDF1B9DFBD7136373E9116463E01E9963D3372663E9F5A84BDE767D03CB014A63DEE6D843ECC870A3EC38202BC5799483C0678CF3D0C39703E3B3FC7BDDADD86BE409594BD58737C3D205CC3BD2CFA40BE589EEDBDC1661BBEC2C49DBD5962B7BD9593943C24DCC8BCFEB3CEBD44AD56BE8011BF3D6E421FBD5A6754BE402A48BE618734BE332AF0BD06ED253EE0AB37BEF82563BE57666A3DEEBE92BDE3DBD43B1503513E9191103F6F524C3E878807BE4F94943E29EE893E57A9A03E4FB4EE3DC0FBD43D08BDA13D793A853E785E253EB5B348BDA1DFBBBD232767BD3C77FEBD296D86BEC7C50FBE0C2C083DD3797ABD0390213CBF2B723E88624BBEB157893DC977033DDCFCA53EA70D1A3EF46890BC07754C3E16E333BE1469203E17E1EDBDBE0F2FBEAC295F3B0964E8BDD32A013DEA6C08BEF5DD56BE9A9E053CB30A96BC559E14BDABC416BE21B365BEC30AF93DD86CC03D1EBF1B3D76A293BDF4139BBEC121C03D4368043EA31CF4BD2EF150BE8D35CDBD3250AA3D6F8A95BE8734A6BEE0E30CBE698C9E3DC672683DDC7A453D70F62ABEBF592CBEB9A883BE7642B43C58B3B83D9697C63D8107B93D0A5B04BE15B18A3BDD1614BD2A7F8A3C3B1D2FBE151803BE0B57213B690303BE24E687BEFE0A69BEFC724EBD6B58473DA6A148BD73D2083E196AA73D877893BDD3D0BD3D2DDD583D58CED13DE9ED313C8CF3EFBD8EE2513C35EF093E2474EC3D3DC43ABEF54199BDEAFC133EB76A443DE9E3B3BDD61A25BEF00F11BD99BAE03B22B051BE5E2FADBD7E61C1BC2080BFBD68D18DBD05280FBE7210D6BD284AEE3DD423AD3DC256733C741408BEB78428BD09B7093EC80DD93CA9252B3C8594F93D7248F93D03AE8ABDFC53463DE463EA3DDBCE963D16AD493D563AAABD397FEABD56F450BCBAF7F9BDBE55B4BD43E3293EF72801BE47201D3ECC91D0BD41E091BEE4F049BE3A9E143E5E92EFBD405522BE3F7A71BE3B4612BECDD5A83D422DCB3B12E9FD3C923056BEE3BA47BE9A6315BD758F21BE2C414ABED6AAA4BE430373BE130DFA3CF8DF9FBE4A2AAABE1561B6BE85E0953DAFCE503EA3272CBE74817DBE5AC45DBE63F0943ED51FCC3E1EFAF8BD8A14333DF4B1A73E1A33B93E181C81BEA9DBDA3D1A2AE0BCAC7149BEE21C4EBE0A4882BE442AC73DDAAF6C3E2C97933D04BAFD3D5CA1F33D3343213E770BF73CB5A4B4BDDADA2E3ECC7E223E938601BEBCDC54BE28644DBDFE49D43D0E3110BED74F153EE3BCA1BDAD26BEBD60D3FDBC36E8B1BDA49A593EDB0F763D77EAA23D144C46BDD59FECBCF4111EBD9585CABC9D02ECBDDE42233DBED902BDAEF773BEAFA40DBDF416C7BD26E0883D48248BBC872DCE3D89F2D6BD3B250EBE8B8411BEF9BB8DBEF8A3A03E46592BBD8EAE5ABE6ABA28BD11E304BE118E76BD8D14453D0B44B63DB7CDDA3DB9856E3EE72F27BEC3166CBE9F1A1EBE619D9CBD614399BBB001623D893C99BDDE5CCDBC91472D3E0919AB3D308D363E3AF65B3D8503F83C660E133E1C4BCB3D4956873E1BA1093D35470A3C64568E3E04145E3E5E0F9ABD45F2093E4CC9A23DF86C573ED24C613E3DF8C8BDFE3A81BDF4BB22BC810C39BEB89548BEBC243CBE5770E0BD42ED9B3C0DF6113EEF432A3E678E13BD4A94D1BD494B73BD3EBD35BDD202BD3B8A7600BDBC190EBEBE4656BEEF468BBE141D3ABECD06C5BD2B332A3D5D778E394D09B9BDB9C6B6BDC2A6AD3DE402B6BC983EC6BDFD3AF03B47C52F3D349210BED38A37BED7E941BE4DFFA0BD9373F83D1585B13CC3E79CBDDE478FBE3658C5BD8BC7793EE2303B3E45CE99BCF52280BE47CD6EBC54BFF03DE1DB96BE800293BC3C8B41BD7A1928BE447B88BD4786953D7F863EBDF834DFBD921C823BEFA7AE3DE37E2C3D0A21403E2FBF4CBE611118BE3851C9BC94C857BED644B63D5C6A5F3D21B5E3BD53EB343EF8889ABD49E1453DB4DE5BBEEA2BCABDCBD13D3E01033DBEC935A9BDD1ABDABCCBCFDCBDE4FBCEBD973E593D26C721BE24ED82BDFCF4C93D49F3F43CD922C73A4A75853E1326663DCB1B6EBEBA719E3B25FF32BE9FF6493E326A8B3D9A69853A0B547F3DF34AFDBD30A113BE24B018BED76A3CBE18B6153ED5653FBE5E8F32BE0761873BE8B70EBE8C335EBD005DBB3CC2C65FBD8F89343C793BFFBD28BF25BD8B165A3E2D49C93D60F0AB3DCD0F80BD43A7D7BDD9FD3A3A14E5943E5969BF3DCFFF3CBD1146AC3C5EC0A33D3B8DBF3E092B563D32642CBE2481A73DA9EFE83DCDA41C3E71DB703E93933F3E6C900C3E433DEDBD32ED01BE54EF5DBE174A27BE7A806ABE13CF43BE763DC8BD92152ABD93E652BD7B18EEBC6706CABD7A88B9BD0EBF4ABEC79687BDB30AECBD98C1A73DE1D81A3D26D579BE91F51FBEB4D411BD0FEF87BE4819D5BC2B2F083D83CF15BE11B01F3D6EDDA2BE45B9103E79CD5E3E8E7DBFBCDF794ABE1A0705BE6A76303E67E9313EDFA8DABC17B574BDA8711A3E6D5A353EC84B67BD132847BE6C8BE6BD1DE7D03D2057833DBE71B73C185647BDF49F89BDDF3F24BE3802993E3E73C03DD78754BD640A52BE0D0B8ABDA884C03E3986913D7C50B8BDF0B8B5BD1638E13DDB469F3E781B23BD19F430BE91A9B4BD2647A83DC24A353EFD4292BC9AFD85BE8B5E26BD39310E3E5AE680BD118B6FBE12322BBE201D86BD4CADA9BD991D533C1E68FB3CA72738BE48007F3CC5364D3D79C4DDBDC5B73ABEAB3C4ABD0DA4F43DBBE27ABE3A8B35BEA7D183BE390602BE9D11E03DD76449BEDB043BBE48E5FABD2812FABDDBE443BEABA09CBEA86EBBBD76556CBD2373053C0F2CF4BD91CFA8BEF876413DF562813DBF7E513D04BA09BEE740AABDD23CF73D42D3D03DC2AE74BE28E2C8BDED4001BD3E8A9B3E488AA33D278375BEA74E36BEB22691BCF478813E91387D3A23528FBEF282ABBDA696963EAB8E723C8CABD9BDD52A73BEAF3985BCAB16B2BE9AC6D5BEF7730CBD1F1FF6BCC96A25BE370B90BEAF0317BEF6947A3DBA88EC3BDABD59BE321058BDE82E073DA1F0503D1859B6BD59BA9CBDD18712BE104B373D2E5A223D39B503BE307B9EBCD656B4BD8533053D2EA3E5BD9383613C8F363DBE591C6ABEF61EA1BE306BA2BE5829C9BD95DD443CE153B0BDB6D97FBE2B37D3BCE4BF21BE4B12273CF49A803C953F323D0DAA6BBC4FC0D33C8E950F3E1C0D32BEA2580FBC1265E4BD7BBEE83DD8F88BBD833B81BE788F86BD5419E5BD10DECFBDE19A12BEACB1F6BDF39A69BE103A77BEA19DB3BD63AB09BE34B6C23B6B8E9DBE1C545ABCB5D5053DF4A2C1BC7A25C73DF7DE51BEC03D2F3D352D123E850EBC3D62433FBEAA4E163EB4872A3E61BD063E1CB9213C75AA25BEB962BA3EE983503E3A14C33D7E3C64BB0E3116BE01BAF63B2615853D8166743DD2658C3D6BF19DBE779F7EBEF2DA6E3CD5F9073EE6EF493ECE5FDDBE431A8E3DEC6E85BDB27110BEC7F8C0BD2E12D1BDA749C2BB028DE5BAC2EC55BE3FC2C2BD7B9255BE68F2523D9E1C10BE92BD5F3C1841E9BD"> : tensor<16x8x5x5xf32>} : () -> memref<16x8x5x5xf32> - affine.for %arg1 = 0 to 1 { - affine.for %arg2 = 0 to 8 { - affine.for %arg3 = 0 to 18 { - affine.for %arg4 = 0 to 18 step 2 { - store %cst_4, %6[%arg1, %arg2, %arg3, %arg4] : memref<1x8x18x18xf32> - %21 = affine.apply #map0(%arg4) - store %cst_4, %6[%arg1, %arg2, %arg3, %21] : memref<1x8x18x18xf32> - } - } - } - } - affine.for %arg1 = 0 to 1 { - affine.for %arg2 = 0 to 8 { - affine.for %arg3 = 0 to 14 { - affine.for %arg4 = 0 to 14 step 2 { - %21 = addi %arg3, %c2_2 : index - %22 = addi %arg4, %c2_2 : index - %23 = load %7[%arg1, %arg2, %arg3, %arg4] : memref<1x8x14x14xf32> - store %23, %6[%arg1, %arg2, %21, %22] : memref<1x8x18x18xf32> - %24 = affine.apply #map0(%arg4) - %25 = addi %arg3, %c2_2 : index - %26 = addi %24, %c2_2 : index - %27 = load %7[%arg1, %arg2, %arg3, %24] : memref<1x8x14x14xf32> - store %27, %6[%arg1, %arg2, %25, %26] : memref<1x8x18x18xf32> - } - } - } - } - affine.for %arg1 = 0 to 1 { - affine.for %arg2 = 0 to 16 { - affine.for %arg3 = 0 to 14 { - affine.for %arg4 = 0 to 14 { - store %cst_4, %5[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - affine.for %arg5 = 0 to 8 { - affine.for %arg6 = 0 to 5 { - affine.for %arg7 = 0 to 4 step 2 { - %28 = addi %arg3, %arg6 : index - %29 = addi %arg4, %arg7 : index - %30 = load %6[%arg1, %arg5, %28, %29] : memref<1x8x18x18xf32> - %31 = load %17[%arg2, %arg5, %arg6, %arg7] : memref<16x8x5x5xf32> - %32 = load %5[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - %33 = mulf %30, %31 : f32 - %34 = addf %32, %33 : f32 - store %34, %5[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - %35 = affine.apply #map0(%arg7) - %36 = addi %arg3, %arg6 : index - %37 = addi %arg4, %35 : index - %38 = load %6[%arg1, %arg5, %36, %37] : memref<1x8x18x18xf32> - %39 = load %17[%arg2, %arg5, %arg6, %35] : memref<16x8x5x5xf32> - %40 = load %5[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - %41 = mulf %38, %39 : f32 - %42 = addf %40, %41 : f32 - store %42, %5[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - } - %21 = addi %arg3, %arg6 : index - %22 = addi %arg4, %c4 : index - %23 = load %6[%arg1, %arg5, %21, %22] : memref<1x8x18x18xf32> - %24 = load %17[%arg2, %arg5, %arg6, %c4] : memref<16x8x5x5xf32> - %25 = load %5[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - %26 = mulf %23, %24 : f32 - %27 = addf %25, %26 : f32 - store %27, %5[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - } - } - } - } - } - } - %18 = "krnl.global"() {name = "constant_5", shape = [16, 1, 1], value = dense<[[[-0.0822488219]], [[-0.108868778]], [[-0.141039595]], [[-0.204869166]], [[-0.17913565]], [[-0.215438381]], [[-0.133805066]], [[-0.195724562]], [[-0.268250644]], [[-0.258212209]], [[-0.0761560649]], [[0.0132841459]], [[-0.00444464432]], [[-0.414740831]], [[-0.17879115]], [[-0.0386558883]]]> : tensor<16x1x1xf32>} : () -> memref<16x1x1xf32> - affine.for %arg1 = 0 to 1 { - affine.for %arg2 = 0 to 16 { - affine.for %arg3 = 0 to 14 { - affine.for %arg4 = 0 to 14 step 2 { - %21 = load %5[%c0_5, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - %22 = load %18[%arg2, %c0_5, %c0_5] : memref<16x1x1xf32> - %23 = addf %21, %22 : f32 - store %23, %4[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - %24 = affine.apply #map0(%arg4) - %25 = load %5[%c0_5, %arg2, %arg3, %24] : memref<1x16x14x14xf32> - %26 = load %18[%arg2, %c0_5, %c0_5] : memref<16x1x1xf32> - %27 = addf %25, %26 : f32 - store %27, %4[%arg1, %arg2, %arg3, %24] : memref<1x16x14x14xf32> - } - } - } - } - affine.for %arg1 = 0 to 1 { - affine.for %arg2 = 0 to 16 { - affine.for %arg3 = 0 to 14 { - affine.for %arg4 = 0 to 14 step 2 { - %21 = load %4[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - %22 = cmpf "olt", %21, %cst_4 : f32 - %23 = select %22, %cst_4, %21 : f32 - store %23, %3[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - %24 = affine.apply #map0(%arg4) - %25 = load %4[%arg1, %arg2, %arg3, %24] : memref<1x16x14x14xf32> - %26 = cmpf "olt", %25, %cst_4 : f32 - %27 = select %26, %cst_4, %25 : f32 - store %27, %3[%arg1, %arg2, %arg3, %24] : memref<1x16x14x14xf32> - } - } - } - } - affine.for %arg1 = 0 to 1 { - affine.for %arg2 = 0 to 16 { - affine.for %arg3 = 0 to 4 { - affine.for %arg4 = 0 to 4 { - store %cst, %2[%arg1, %arg2, %arg3, %arg4] : memref<1x16x4x4xf32> - affine.for %arg5 = 0 to 3 { - %21 = muli %arg3, %c3 : index - %22 = addi %21, %arg5 : index - %23 = muli %arg4, %c3 : index - %24 = addi %23, %c0 : index - %25 = load %3[%arg1, %arg2, %22, %24] : memref<1x16x14x14xf32> - %26 = load %2[%arg1, %arg2, %arg3, %arg4] : memref<1x16x4x4xf32> - %27 = cmpf "ogt", %26, %25 : f32 - %28 = select %27, %26, %25 : f32 - store %28, %2[%arg1, %arg2, %arg3, %arg4] : memref<1x16x4x4xf32> - %29 = affine.apply #map0(%c0) - %30 = muli %arg3, %c3 : index - %31 = addi %30, %arg5 : index - %32 = muli %arg4, %c3 : index - %33 = addi %32, %29 : index - %34 = load %3[%arg1, %arg2, %31, %33] : memref<1x16x14x14xf32> - %35 = load %2[%arg1, %arg2, %arg3, %arg4] : memref<1x16x4x4xf32> - %36 = cmpf "ogt", %35, %34 : f32 - %37 = select %36, %35, %34 : f32 - store %37, %2[%arg1, %arg2, %arg3, %arg4] : memref<1x16x4x4xf32> - %38 = muli %arg3, %c3 : index - %39 = addi %38, %arg5 : index - %40 = muli %arg4, %c3 : index - %41 = addi %40, %c2 : index - %42 = load %3[%arg1, %arg2, %39, %41] : memref<1x16x14x14xf32> - %43 = load %2[%arg1, %arg2, %arg3, %arg4] : memref<1x16x4x4xf32> - %44 = cmpf "ogt", %43, %42 : f32 - %45 = select %44, %43, %42 : f32 - store %45, %2[%arg1, %arg2, %arg3, %arg4] : memref<1x16x4x4xf32> - } - } - } - } - } - %19 = "krnl.global"() {name = "constant_6", shape = [2], value = dense<[1, 256]> : tensor<2xi64>} : () -> memref<2xi64> - "krnl.memcpy"(%1, %2, %c1024_i64) : (memref<1x256xf32>, memref<1x16x4x4xf32>, i64) -> () - %20 = "krnl.global"() {name = "constant_7", shape = [1, 10], value = dense<[[-0.0448560268, 0.00779166119, 0.0681008175, 0.0299937408, -0.126409635, 0.14021875, -0.0552849025, -0.0493838154, 0.0843220502, -0.0545404144]]> : tensor<1x10xf32>} : () -> memref<1x10xf32> - affine.for %arg1 = 0 to 1 { - affine.for %arg2 = 0 to 10 { - store %cst_4, %0[%arg1, %arg2] : memref<1x10xf32> - affine.for %arg3 = 0 to 256 step 2 { - %26 = load %1[%arg1, %arg3] : memref<1x256xf32> - %27 = load %12[%arg3, %arg2] : memref<256x10xf32> - %28 = load %0[%arg1, %arg2] : memref<1x10xf32> - %29 = mulf %26, %27 : f32 - %30 = addf %28, %29 : f32 - store %30, %0[%arg1, %arg2] : memref<1x10xf32> - %31 = affine.apply #map0(%arg3) - %32 = load %1[%arg1, %31] : memref<1x256xf32> - %33 = load %12[%31, %arg2] : memref<256x10xf32> - %34 = load %0[%arg1, %arg2] : memref<1x10xf32> - %35 = mulf %32, %33 : f32 - %36 = addf %34, %35 : f32 - store %36, %0[%arg1, %arg2] : memref<1x10xf32> - } - %21 = load %0[%arg1, %arg2] : memref<1x10xf32> - %22 = mulf %cst_3, %21 : f32 - %23 = load %20[%c0_5, %arg2] : memref<1x10xf32> - %24 = mulf %cst_3, %23 : f32 - %25 = addf %22, %24 : f32 - store %25, %0[%arg1, %arg2] : memref<1x10xf32> - } - } - dealloc %12 : memref<256x10xf32> - dealloc %11 : memref<1x1x32x32xf32> - dealloc %10 : memref<1x8x28x28xf32> - dealloc %9 : memref<1x8x28x28xf32> - dealloc %8 : memref<1x8x28x28xf32> - dealloc %7 : memref<1x8x14x14xf32> - dealloc %6 : memref<1x8x18x18xf32> - dealloc %5 : memref<1x16x14x14xf32> - dealloc %4 : memref<1x16x14x14xf32> - dealloc %3 : memref<1x16x14x14xf32> - dealloc %2 : memref<1x16x4x4xf32> - dealloc %1 : memref<1x256xf32> - return %0 : memref<1x10xf32> - } - "krnl.entry_point"() {func = @main_graph, numInputs = 1 : i32, numOutputs = 1 : i32} : () -> () -} diff --git a/models/mnist/mnist_mlir_loweraffine.mlir b/models/mnist/mnist_mlir_loweraffine.mlir deleted file mode 100644 index 578429d..0000000 --- a/models/mnist/mnist_mlir_loweraffine.mlir +++ /dev/null @@ -1,433 +0,0 @@ - - -module { - func @main_graph(%arg0: memref<1x1x28x28xf32>) -> memref<1x10xf32> { - %c10240_i64 = constant 10240 : i64 - %c2 = constant 2 : index - %cst = constant 0xFF800000 : f32 - %c3 = constant 3 : index - %c1024_i64 = constant 1024 : i64 - %cst_0 = constant 1.000000e+00 : f32 - %cst_1 = constant 0.000000e+00 : f32 - %c0 = constant 0 : index - %0 = alloc() : memref<1x10xf32> - %1 = alloc() : memref<1x256xf32> - %2 = alloc() : memref<1x16x4x4xf32> - %3 = alloc() : memref<1x16x14x14xf32> - %4 = alloc() : memref<1x16x14x14xf32> - %5 = alloc() : memref<1x16x14x14xf32> - %6 = alloc() : memref<1x8x18x18xf32> - %7 = alloc() : memref<1x8x14x14xf32> - %8 = alloc() : memref<1x8x28x28xf32> - %9 = alloc() : memref<1x8x28x28xf32> - %10 = alloc() : memref<1x8x28x28xf32> - %11 = alloc() : memref<1x1x32x32xf32> - %12 = alloc() : memref<256x10xf32> - %13 = "krnl.global"() {name = "constant_0", shape = [16, 4, 4, 10], value = dense<"0x05AABB3D63B3F83D52CCAE3D4E19FB3D863FCABD86A1E5BD9A5C12BD1225C5BDC66F17BE3FC80E3DDD6F46BD952D0C3E5D8F153E9D49F5BD9408553EA29568BE7CBFD83E8257703DDD542BBE39DDBDBE5DDA44BEEA2AC13D7DE1BF3DEAF92ABC64206C3E7CA8E7BEB1E4233B56BD4BBCD829023D4FCC9BBE33AB933CF8E9C63CEF1F933E20182F3E315C98BD7BBB903CBEC5D7BDB88CA7BDFB43753DB33EF83936311DBE740CF73DCA7CDC3DE573C13DC10D8FBDF465D2BC2880DF3DEF58AABD351FA93DC3EC33BE31342CBE9253D73D457F32BE9683A8BD9DF3ED3E0CE5F73CBA2923BE695F4C3E78EFCEBD7234FDBEE6BFA83E22C5353ECEA0D23E6C70FC3DFD2F8DBE1ABEEEBEF117BEBEDFFCABBCAD1203BE22E7463DBC69C33ECD8B6DBE1CD6D03EED9DB93C22769F3D32912BBFD1937ABDFE8E3F3D13EA06BD6AA9113EEEA303BE28C8D43C17C412BC8DB2373EB60D09BD4B7BDEBC676C053E36563ABD04DF5B3D28FEB23C6A7CC3BBEC6F4BBD4BBA22BE3AE9DE3DD5252EBE32FBB23E497C32BE4C73293E2FBD0FBE4CE731BEB1EB15BDA043243D7990443EED252E3DD6C127BE7B42E23E86A09D3DB312E0BE82A94A3DAB6D71BEAD3AC9BDF699CFBEC0FCBEBEB989793E4D8705BFA01F113F0C230E3F2BDFD5BD3059383E91FBE8BD0E6822BD53ABE5BD39571BBBA50B4EBB1778D2BD32FB9B3CF5BE93BDBDEC80BDC6FFB13DE4D1733D14B7383EA7EFDC3D69B848BE8157033CA3A3813D4385723C803C93BD31E2DA3D8BED7ABE00E4793C029DABBE984C06BDAAE322BE0E90153FD08B96BD7907043FA602253EA8384DBEDE5AB03DE39188BEF50CF7BE31B9253D390AD4BC5659993E45DE5EBE4039A63D997A883E509294BE957F883EC0EC4FBEC78FFEBD9179C33B5DBF653E6AD10B3EA799E5BC96D48FBE54E7BA3CD657853DEA8B15BE4526D13D268B0CBED3CB653DE620A6BD540CE93BFFA553BEAAD5E73D607538BE3A3AB83E63546BBEFBC4FE3BE0C159BED2EFD1BDC090BA3DA1EE8A3E578614BE60A7B23D96CB8FBD3C180B3EC1CAF03DDC49C7BBC4001EBDD214B03DCC32423DF31316BDFC3EA73D147AAC3D5AFA093E041681BD30B8B53B524B9E3DFEC9C4BCD84297BD7F7C783E0A174D3EC29502BE226CC0BE5EC183BE93542E3EF4ED94BD26B8DFB90E9F0FBDF52B813ECDB5973E3929353E7071D0BE708C37BEFE47F9BE0A043F3F1E1F32BDE8D526BDBEDB673D862291BE1D528A3D9AAF8CBE2F3497BE718FA33E2B55CCBDBAC1B73EAE650CBEA2B178BD84A8B63D0ABFFDBD237BF6BE80C7F7BD6D959ABDAFCE013F2096253E0F0E093D303254BC1245E13DDC8739BEEF1656BE4ACC2E3E8E75553E6EDFD43DA4E6283E55C054BDFC7B983EF262F5BD258B35BE720612BEEF443EBB23B320BEFA987ABDC6163C3E0D258C3E2E87B8BDF771F2BD0745DF3CA52CAB3EC6C413BEA5E293BE0A9182BEEA38C7BDC6E8133FF82395BE5C2F3E3E64C86EBEBC063A3E46F129BCF2451CBD4297B6BD8586253F816C2B3E67D8013E108EC8BD284E5B3EC670873EE5A45C3D886F42BF76C64FBEE259B23EB7C40CBE57DF923E46EF5B3E78CAC93DB63076BEE95E233EA93668BE2D958C3C24C43A3CF864333E037E4C3D4D959E3D64903BBD2D5EC83CC6B652BD103DFABEB5C486BD6E4ECE3D4764893EC81D23BD0290C83DDF2A22BDDFD19BBDE7A9DAB862E2053DB2B69FBE906DB63D8D5794BE2FC8A1BD194C7E3EC9ED273F604694BE8053B13E08EFDABE491380BD2E92293D1B33C2BDF41512BE5A56153D5DEE06BE7B1C393C2AD02BBD59B7CFBC028A35BEBF85473DCF4BE93B08FA0FBDCD18F7BD99EB1C3D366C49BE64DE1B3EFF48883D7743DA3C929B3ABEC08F4DBEF2937D3E7326123EBAEA4EBC0A0B013EA6B494BCD9B23DBC9DF2E83D20B1AABEA43D06BEA01F14BECD01603EFF2C943E090B803EAA24323E0ED6D03D762583BEAC73E5BDA83372BD8935103DD73627BDCC0BB5BDD55A8FBCAC7E0F3D8DD4D3BD232E8E3D9663903E494C883D847F2ABE7E88873DCB7C28BE2328D13ED132803D894882BD585A91BE42873B3E072BFD3E68EF973ED7198BBE3DF1FABB4F4AFEBEE3BCAF3EEABBC23D37DC8DBE4DBA453E51F578BE7D3F643E29F5383E6E4EAEBE9F80C93C2C0FF6BDCFC7AA3E60B573BEAB6CFB3C32D1AA3C8B186CBDF5574BBC3EEA81BE4B99ACBEE4A0FE3EA1F0CE3E4388B83CBD1765BE1D5A023B5F53A3BE1BB2F43C4994333EF2915B3E28C2883EFD4BE03D42F090BE2AC5A73E63128D3EF112C1BEAC982CBF0C35D9BE59E133BE8868633EF29E063F293EFF3E6FF53BBF676794BDA62102BD55361D3FAFF48C3EA7ED39BE1ED2303C53408E3E4048473DF38C443ECCAA11BE7BD3C03D03A011BED49E43BDCB800D3E8602E93D28A411BB6AF3463C421703BEC5E7573E5AE2C93DDFF1F0BBD023BBBDE78E3EBEC4D9BF3D3F25613EDECD613CD9DF973CA43FCD3D788A6B3D8DFFB23D28B584BE0E9F513D2D84013D82DB9A3D01B05CBE65703DBE7BD1893ECFDD6DBE98DF753E86DF5A3E158208BF084BA1BDCEDB583E75A52E3EA848093F654D4CBE0B56B9BB5FE947BE2100FEBD8A668A3DAFA2F9BD226E5F3D81219ABE13E80FBAA09E2F3EF32E453F9EB38ABE154E713D09F312BE9C4EC1BC1F46B6BC42AB6FBEED308DBE2D53CE3DD02B08BE10F10ABEC51F1A3E56290B3E9D4FABBD15CA123E3534DF3DC969E0BDADF9973BF130A83DD76269BD138705BD32FB2A3E17CFEEBD2478053EA462ED3D2817AC3D73330FBE482F8EBB69B39ABDC8339A3D12B6153E83D595BD1EE428BE995145BD5EF8E93D1B9629BECE68CBBDF64B31BE14D5C83D506E563D4FEB123D673787399A06E2BD07B4A23D558369BCA44B373D0CABC4BD0E7085BD40DE983CBEA6D83DFFE0E53DB761313E354786BD55EC033D4F7D873DC2EFD2BD35DF3ABDBBEAB9BD7416AF3D38F18CBDD6D4A83EEE560DBE13F780BDCD27303E4EC46BBD4DB60EBE0E898EBEDE9A6EBBEA8A2CBEAA40CD3E3399D73D2339F6BCB3CBA0BEBFEDD6BB60CD9ABCBB37BDBC09F054BEC262EE3DC6453CBD50BCF83D3BB0F13D51E5B63E9C0941BE05E507BE24345D3E03C991BDCDE676BDC66E6ABC97E6C83D9055DDBD76B1FD3C5FE7C7BD97C4CC3CAECD76BEA10DE03C9B0F0A3B304FF43DD186C63D0055A33E6F302ABE54D9273E25FC7EBE5FA8043D22A2C23DCE7E823D9751C93EC96ACCBE563842BE4E5179BECDCBBE3ED8EAB4BEC065AE3BDB1838BD138A6F3DB43F86BEDA3B72BD0844B6BED0EE533E165B8A3E99A85C3E0600B7BEF01312BC8F4DCCBE31B6603C44E4D83C1098113E6D614FBE98A98E3E0221DBB90E1E45BE5ABF223EBA4CBDBC2795E63CDCA7EE3DF39A92BC376867BD50E7A3BD511B97BDD027D4BDBAC72E3D04EBB03E5B02B6BE1B31843DB511BEBD0310EE3D24935B3E7F5E933ECA53B8BE26EBA0BEA236B43D7AADCEBEFFDF493D2C58853EB5CC3ABD804DAEBDF512C53E15EA803EF84DF63C401344BE2C612B3CFB3628BEB68BCF3D052C983DE794923D534109BEBA5844BEA944963BECF2533C064787BCCB9F323B2B7E15BC1ABFEB3D854C8C3DACD3D3BD8DF6ED3D479D783CAF60E13C6265F1BCB6DBB33D73572E3ED92FDABDE885EDBD2B9D0DBE3A1B4FBC526ED53D7CE193BDBCDF2E3DEBB3A93D460F8B3C2CF9833E2F39E2BDFF1A12BE9E85B43DDC076C3EC01C25BDCCBE99BD0EADA1BE39C6B6BCA7CC13BE9D8794BD5F2A22BE8B5A21BE05EA87BD0F4CB53EF812E13B51D01A3D72878FBE8705993CB44CA93C7BC88C3D10804E3E302BC53D5BABF1BD4778F63DE86D8DBCA4914F3D8CA4DF3D5F592EBD17EDE6BCC863633E4A53053E091258BDC440FF3D86C2B03D49FE4A3D1EBB463E2C71A7BE553D52BE40FC73BE0AC78DBE17A8793D67C2473E2D20A33D836E17BE0D9F4EBE2FFFA0BD050FADBCD2531F3F440A03BE1045BABD3E1FD8BDABCD943E79F365BD5E2D6D3D0FB7A9BD23D79E3C04E7AD3E9F132ABDF31833BE5F3D073E7EB46EBC6B23F1BDF1758C3DD6C82EBDC229113E556B823D701C45BEC644E8BD6B4646BCD58EDB3D128F9A3E71A1FFBD76BB16BD7309963E004986BE16A85BBD9D09AEBDDADFF83DF28D00BC078A97BEF82AA73D03C7C43E82CDB33D2759863DD0D0163EF758003EC9C763BD43D7803E2E1CC9BAAD9E38BE0D9828BEC3C0F0BD043BEDBDCB52DBBD7B2C2A3E19DAB53D01BCEA3D253F46BE1A0F1BBEFA54653DB6330B3E0E47FDBC9DDF4ABC80B6A83D1B70853DB69A74BDB0B418BEF802043EE20B7A3E949E2BBE66D6B63D6461123DD9ECB6BD2F503CBBBA4909BE977A6CBE06FC1F3D1B432BBEF6E8363EE533C1BDB6D199BCAE530C3E9AFFA4BE6CD55E3E1AFAA93EAD84F3BEC724E53E5AA19DBEC55B1CBE418D3A3ED3FCB5BDE306293E92272A3D41073B3EAECE3B3BBFFC9BBE498F1A3EE6928ABD92C62ABEB5FA0CBE3A31B23D9DA625BD2F7D17BD464439BE0D25283D9892FE3DB9A72DBD6E7C82BD5DE30ABEBC79B83D9E68133EA3A1493E8B8EF8BC261F3B3DC5B3863DBF7F41BD5184B63DC647253D4D1D56BD5C841FBE4CE7443E86AE0A3E4C8140BC4C46813D1665E1BC264EA13C224A9CBD2D4C273DD8CE09BD22768FBD8D464CBDEFF516BE9AC84E3DC8E577BC158EDD3DA72CCB3D64DF0BBE56F225BDAA3BBABD1D59713E9AF484BEEBD035BD262FEC3C1603543DAFE37E3B28AB203E7E71CF3D5F6554BE0694C0BD4985823E6D3B1BBE9E94C1BEEB21193EC7A8D23DED585FBE3BDE65BAC80EEEBDE814BA3D1B26083F5A423D3E625D1E3E02B29DBD890F9B3D9BB3753E993DE7BE793C063B8AD5CBBE18CC05BEE7B6CCBC44448D3DF15D2ABD457B863D3AF881BDF7B73F3D88AE4DBC9C18EDBDAACA6EBEFDB88DBEBB535FBC92B695BE14DDCDBEF0DFBBBEBE41AC3ED84E4EBDBE242BBD861A85BE637E993EE643E03E367A743D658401BC7550C3BE015260BE59E7803E7EDD313EB1AE32BEA1661EBEEF2B393EDE2AB73E866733BDA22FBE3E02B3E7BEFDC63F3E7F3C57BCB96C12BE645013BF275404BE5975313E1BECC33E7C071D3ECF4C23BE6DF3173D14158EBC76630DBDCA0733BE2F3DDF3D2098993D1EDE1B3ED30229BD1CCE8A3D8BBE1EBEAF78273E9D52693E8BE43F3DD45AF4BC1CFDD43D3E3C42BED2F60A3E40C8B8BD1ECC863E71BC91BE8FE9253FE86A0BBE4F4D843DD98CF63C9ADA8D3E115763BE24E8243E6F9575BE21CB65BE65AE69BC2113E93E1F176ABCDEC649BE1F438CBE167B353E09E9933DC0AFF4BDB24293BDBD50DF3D4B6033BECC59B6BD3DD22F3E0AF473BD9B85E93D982F293E9905B4BE203C0DBD0F70F0BDFE5B09BE68F523BE173A873E8D30DF3DF224B7BD9C6B31BE358B5EBD2F8E3B3DCF47A73DC14FAE3D9446A43D818D77BE0298BE3E06BCCEBD557120BEAA8A503D83924C3EF1C47ABEDF0E0A3E3CC90F3B3554FFBC648AF83DE8EE01BE8A2142BE91AC2A3EA39FF93C2BC41E3EC80258BD4537D73C99EA68BE1B9909BEFD849C3E2C6BBEBD15313DBE8C93CC3EFC8162BE774B303EC6C5F2BC2F38E13D7AF1B8BDFCC661BB6903183E9651533D041C2F3E590BA73CE8278CBEF63C67BEFC7814BE82D74DBD6BC1833E6E37373E4D30D5BE9870C23C0EC230BE2A9F02BF83CCFC3D5BA19CBE68F7183DBE42453E0502F23E51B4DEBDDCF6C73BE24A3EBD625DF9BE8029253D876CAD3D3785033FAA4586BD6EEA193E778D24BD44345DBE58C77A3EF3420ABEB455D63DE620383FEC3302BE912B87BEE65AFB3D7528663BF4451FBFCCCA823D4ED1F03C110EAC3EF28AF1BC2648DF3DB8CAE73D60334FBE62D3783E8069DF3D9A7AA5BEC55411BE68FF83BDD7BB4C3E72F8083D5CFE41BC6BCFBD3C4218053D3A1FCB3D2EE10F3CEF6BD9BEED04033E3F57B13E628E92BE0C74893EF9AC563ED3E943BE5B3EA93E5F649BBE8AFC29BBA42400BEC355733E93B67B3E731D4D3E0514E6BDB34781BE3635E8BDD140A8BE42415ABE77339ABDE851C53E796972BE52EAD33E4EB2F2BD67E9253D615B703D8857DB3EAE3EAABEE2AD98BCEC6999BE7E22B8BD03C4D4BD602E513B4EB900BEA0E81CBDC77BD1BE4867BE3CC33337BE109AA43EFFB182BE4C4BE33DDE43CD3DEC7C033E3E764A3B4076033E5402D3BDF2466B3E04ED9FBE15E9153E0031543DD96B393E70279CBD8E14833CB92879BEE87C9B3E3F2DDABE10848B3E91221C3DA646813CB26BA13E6281AEBC10D3483D06CA56BC395D8D3DD3B5C43B8FEA3ABECACFB73D3B84EC3C130419BD315FFB3D84CA7E3D27E8DF3DB467BABD08B92D3E7762A5BE4AD910BEE2D1833EE3A7FF3D83FB5BBDF50BDE3B4A3BEE3C116E08BCE2CB3B3E5B044F3C04E273BD5FDAE73B0846253E36A7533D3FA907BD7A4F16BE65302BBDBB5CC73C782425BDD66C93BD12697EBD75E4CABD06F09EBD8EFFFF3D5C52693D05A5B33D5F68043E524944BB38C8D0BD518C2F3B40A28FBD61B7C33D2776203E45EBD43D1528133E02514BBE05764D3EF7A67EBEB18E913C3868DB3D1C61FC3E248289BE6A44F8BDDF0B02BEA055573DA8EE89BEF345DCBD0E594A3E5C78553EEBF7403EFD99EBBD284F9CBE9743EFBD7D14B2BE574E053F7E49F1BE19706EBED6561E3EA515833EEF3C393EB1C4B2BE6F83AABDE317A8BD48714F3ED93F2F3EDEAE34BEEEEB31BE86698A3EE3D5A5BDF6F6913DB5EFE6BE92F48B3D9BF27DBDA00B893EFC510EBD3DDD383DD81AE83C48D95CBD1A598B3E2E16F63D007956BD89A3643D26CF933A8E75C8BD8F24B73DCE30763EDFA72ABEDE6E27BE3645383E17AC11BC38D6E7BC2CBB03BE65DF1C3DAD0903BCF004D53E245953BE6DB003BED69A093EA10306BB95BA8EBE0C4194BEF43DFBBDD9BE12BEB747F63D0FBEA4BC301AF33CF01706BD24DFAE3DEAC3BEBB41D28D3EB94ABEBD63DD263D65D984BD3BF0893D5E8CD0BEE107353EE7424DBDD014E3BED134083E8A584DBB71AB11BFCDDAB43E72E21CBEE194933D6DA2AE3E685E80BCA5F39B3C7F62E1BD50C60FBE0B45A83D1F74A13EF9EEA23EB70C14BBB90A073D36C696BD7D7A6DBE8BBDA93DBD37A93E04B8EFBD91FB0DBECA78F03D20E0F2BD19DB793ECA722B3C9EF426BE868CCBBD5903D1BD75B111BD22D44BBE8B5C3D3E02CF2B3A57E834BCF3533EBDE017393E701B55BEFE0E2FBCA674E13D0BE1A4BE088461BDCEF2943E304B4D3EAABD97BE94F493BDE567443EE0BEF7BECF46933ED0EC0F3E6D258F3E97A315BD248FA53DB30E2FBEDDCBFEBD586E8ABE8623C73EC060B3BE8567CBBD242ED13EA6E1273E3882703E709CA8BD8B126FBECE9A763E2F07543DFFDE883E59F2CBBD07AD17BEA5EB22BE5E2C3C3D3F1FF33D741F79BECDB80FBEACA1543EF6FB3CBEE966223EC72AFF3DCED0D9BCBA504D3D63BEA83CAA296D3DACD683BD45777FBC582C183EF363D6BDDB7701BE261B25BE248AE53CA3282EBE449B213EBEA4F63D59E028BE61BFB93E1C8088BE921111BE0146C33D3BAA813DA6EDD9BE6EEEBEBD27B98A3D16A5D43D255CB53E175A293C4EA7A5BD614A4FBD0AEA4DBEBCBAAE3CD26C3C3E90642DBEFE7EB63CAEDFE0BDD26F98BD583613BFA420B53EB310F73D7168523E34B003BD9998073E712872BEC51CBEBDA69004BEAA18DE3DEC81F2BE209340BD0B327BBE6EF3ECBD99F73BBE24D3973FBC5057BE957C0CBE2116ADBDF02ED03EF9C02C3E607BE93D1CECFC3D1EE9B5BEF866443E8C763DBEB44F863D0F104D3E1C83A7BDA25644BEA305ADBDB0B7AEBD0D50B6BB303056BEB942AF3D40B0523B70F2163D53D71A3D73F5F8BD6AFED53DCA21C03CD15BE1BD6061703D894863BD79204EBB5002C9BD932B673DAA51AABD84F191BD8F04A9BE2EFA583E40E70DBD1FFA433E8B0B053E8692D93DD88472BE112BDE3D866B9FBEE4C32D3E22C79EBD96B0023F9825F13D67703B3E43A12FBEF84C573E45E898BE239FC23E4A7A54BCAF6A943D562E89BEC6B14E3ED25B41BDA120FE3D4AFD87BD3EBE8A3D495B86BD6FF9653D10B708BDA42D3DBD73D0E4BD4E55BFBB93C9423CEBEBABBCFC42803E0987E0BD4EF403BC63DB72BEC9F588BBBAB9573E1FF6D2BD1369AEBD7B395FBD1A6C323E39E4863EC2D220BEEAE95BBCCB7709BEEBFB8C3C011CE13D589AF93DDFA71DBEE01EF43DEA04243D1BF95A3E68A636BE9F25B23D38F37FBE06436BBDEF12453D2E33E8BCD952133D3B4B5DBDF45E233D8051463EFFCDB0BDE148C33D9A6FA5BD7E5B013ECC66DFBD6F4796BE59B890BD4AFBE1BDCF6AA63E083CE03DB4322CBD1A123D3ECBFCB3BDBBF551BD1CABBB3D38C795BD416BDCBDECD6593E26935E3E3BD6AE3DBF7677BE80E47E3C5B73153EFF70813E1D3DBABDCCA51A3EAB4136BD3DA9093E01CE02BE26A948BE3480A73E42F0BDBECBA8B8BEF8D5273E06BB4ABEF2F25BBEFA5C533EB37604BE8A0C45BD6928F33DE10612BC8CC8893DE2A76FBE6BEE863BD873B2BEE1879DBED17E01BE0E8F8EBCA3652BBD6A29CE3E555435BE5576873E50CB353EDFA71A3D9C622FBD77576DBE2672723DB1CA1FBEE110483C5A72B73DECC934BEE6C5613DC6AA26BEBE72B13D288AD03E69B097BE86C87FBE221E153EDD69043EDBE4D6BE808E5F3DF46C1DBE8886663E7556AA3D544D26BEF63FB9BD411A423DD5E8FE3DBD77B3BCA8DEB9BDE14F16BE47CCCABDFA123C3E2998993D3B8D7EBEA8C38A3E57F103BD2274083EC3B177BD53BE9B3D1DC931BE1A16393E40489CBE4CC4DC3D9665FF3B394FB23D5C848FBE415312BED04A03BFABD8663E3452013EA3198B3E863D2FBDE15E3FBFC451463D2A712F3EFE6584BEDBCE453F2327CCBE2FC3C3BE9F65143F13C482BED1F2353FACA680BEC09BA6BDD82F023EEF9479BDA2E76E3E9806EA3C1946C1BD595EEBBD8DA5093D18B0433EDAE88DBDAE6849BD864F8CBDFB4754BD358434BE63193EBE551BB5BDA4E5223EC66E173DD906A93DA991363DE279D7BC5BBD90BDBC80DD3D171F063C791430BEBAA9243EF4CAA2BD223F563D77AF693EC66C9CBE53CEDC3D35E7603DDD3AD23E15C9513C21643DBE3F81CE3D28F7F33CA17664BEA49CDABDB5AD92BEE7CC323BD1AD99BCA95FE43C6C19E7BC3C43353E392B95BA87652DBEE5F23A3D724101BE6ACEC6BD7BEDDABD9C77823D749149BD85BD08BE07A402BE8043C43CD641B23C4F859F3DC55E2ABE8356653E7258403E7D43F8BD7917753DD10501BE93FC6EBE78F695BD3753823AB90B79BCF7424BBEA4B941BE5A750B3ED8A6583EABBAB4BC119F89BC64F20A3EE98FCD3DABD0E83ED2A527BE1A5A6ABE525C8F3C89845ABEE4B2C7BDF8D24E3E44A2853EC4715C3E69F3133E37DEAF3BC168FA3D4C8EFEBDBCF4823CB2D602BE513CAE3DDE4A65BE9D47AE3D336B37BD98C528BD96210CBC4A93DCBD8FEFE9BD03C822BE9032643E40ABECBD89F430BE825699BC3A8382BC4E004E3C162BC83C7AF9173E09B92A3E927D58BE13B8703CBB7146BE5E5D1CBE9DB82E3EDD05993D76BFF3BD8233CBBD6784153D17439F3E3C7FC4BD9D08D1BD8712E63EB15C46BEC080743E682E04BEBF0BDC3CE662833E37854BBE90AD03BE6B1301BD33AED9BD56001CBD374B033D396B7FBD3116A5BD1C61083E6176A93D9054A83D8FD7FE3C487F2F3CB27BF73CBA7EECBE88113C3E2066B13CC3FBA3BDFB098B3C8E4835BD284C9B3DA3BF0D3E10BF6F3E4C5DA3BC93E2893D71D58EBD927A4E3DFDDB1B3D3533FABDBC8EB2BD738182BDEAD02D3E402FE2BDE4D7713D1A00EB3E876B13BED1C41B3EC92A143EC6579CBD64259ABE007E58BDBC116C3ED09465BE4D44DEBD0BA941BDC14B0D3E4E3281BE78971D3E9C19A7BDEEC9363ECA99713E638438BE18D5663D669D3A3E67B578BDAEC4103DC0B4ABBD170220BC19B9D8BDE126CEBD1433973D0B65263EDF71263E05CE943D6BF088BEE937893D8955483E5D23323EC107AABEE87B59BEF90BB03CCEAE25BD30AEA93D1D724BBDE7362DBD5F975BBDC84F703EE4038D3E7E48193DCBA5733E019D703CD79CD0BDDE81AD3D8C8751BD87D3D03CF2C5CCBE3F15B03E122998BDA335C93D37A91D3ECE416BBEE6CF3D3EC69C623DE414E2BC53A6C0BDF459E2BDE584AABDAD91293E7872453EC3F025BE51B891BE557363BB76FCDFBD10E8873E89C107BDBF1DBFBDDE2B0EBE8428913DD10C853EDB71303EA79282BEB33A68BD37CE953D235F75BD5B84BCBDD5D766BEA0281EBED40F99BA2AA8883E8717013E3CFCA43E067B04BE5A2D283D2B8C1CBED466EF3E8D4B80BEA66DA5BDBC0D18BE804E973DD4C6A6BE15578ABD5A86FC3B81CE80BC061B723ED71BED3E2CC68EBE70D818BE7B369DBDC451713E742A53BD3A93003F8B4B05BF481B183C33B930BC1A94C43E0FAE21BE514DDB3C9F6980BE5FED083E1F58673C439669BEC0FCC23EF5BBA83DEE3E4EBD2D258FBE6E94193E581B04BEB4C9D03D83B0B6BD12E2A3BD6022E13BF55D14BEB03CF2BDE300B13DD3A4FCBD09EAC73E3587493BC2B94BBD660E60BEBBC91C3E9919093E6D7BEC3D7B8E03BDC21AD7BDF6B7563E6128ECBCAAA167BEE630C63D34C161BEAEDAFB3D14700EBE5C07303D47A9CABD93B0853DE305F03C4AD9AF3D6F0F4ABEA18FC83DDDF3DDBC7D7018BECC91CFBC60DA743E597B5DBC452ACCBDB3B2BABD82B3833C6EF38D3E474CD7BD2A6DC4BD7D862D3D832F4FBDAAC359BE361FF13D715F593D057A17BE234DDBBC1239BF3DFBDBCFBD2689C6BC04D34D3D22391EBC3201D93D11A4A43D1F2019BE86A9933D0C62A83D2D9ABEBDA7FABE3DE60A8FBE9A2B20BC6D7B263E85193A3D450802BB02118DBDCD703EBE3BA2963BE9FC53BEECB2683D40E6263EBA6821BEE104CDBD53018C3DFAACABBD00077E3D108A85BE10373BBEDB5A1EBEDDB9623E446B983E5077113E2A26DD3C270F41BE4F56D5BDE920E53D5736453EFEDFF73D8A657E3B013E2BBD2F3203BE79C0CF3BE881FEBD19395CBD27B973BDDCBC0A3D32218C3E2587DDBBED01C9BD5F01FBBC5E73CF3D337D8D3D4A60AEBC2DCE53BEBF28243EEB3F013F20CFFF3D7BF3EBBD95F766BE1EEC6BBC56A6BA3DF2F81EBE573056BE144AC3BD78ABA1BE479C213E48E00CBE6507E23D7D31493A8676333E7028933E153F253E5D823FBE1546AEBD699182BEBFCDCD3D76D6B5BDB6B0873C785F85BD09700C3E293B81BEE8D5773EE685543EC90F33BD5E63843ECEAD353E1BE4093EE689A3BE1143CCBC274F7DBE27E869BE0D4D963E0B2A22BE923294BB4E81933D32B3A43ECC0E923DBF8B16BBC92CDBBDEDC02C3E86EF75BAFB788A3EE403DBBD38FA89BE5A48BFBD0533B5BE2A179ABE8555B43E1ED687BDE294A2BEDD3369BEB52B62BD8DE0F33E514AA13EF3BDEF3BD492C5BE433ACEBD4C0D193E26C9FE3C1EE4AE3D6AF7B73D197DCFBCD9ADC8BDCEAA853E0CD3493E703EFBBB3FFBFC3E44873BBE24FFE33D3EE3B8BD42A92B3E20DC6EBE070660BE78A94ABEE620F93DF4048B3D4921143EDF5A61BE1F623EBDD18FA9BCCDA1A73A858A113E5D7580BE29047D3CCFBCB03E9256B1BEFC30AB3CC6F19D3E5533703D00D03E3D38B4623E2E16FEBDB7239FBD962199BD98E7DBBD1F8498BD9FA21ABD7F09833D923FE83DA3D20CBE2E742A3EE658053DB96EDC3D5F4627BD5E1122BBE21B9D3E17632CBEC66C91BEE6F5B63EED2C1F3E02FE3A3EB8B0153EEFA338BE40E179BE12FE89BDCFED153E051500BDE2FFC1BE71BCBA3E6AAAB43D809694BD17C48FBD0E5AFE3B3D94DBBE3E71BCBD2C8DC83E2D879FBE5671EBBD121F753EE81FA73DC1E9BC3D7C5EA4BDF7F58ABDF898A4BEFD8D583EE59D08BEE4B570BE5C8737BED558793D81AF2FBD935A5E3EA93753BE47E24D3E5862A53D057F653E6E2214BF6F0045BD296472BE46ABAC3E8310123EAA0A983EB0FE89BE00FD4F3D7C2D75BCAEE10ABEB967803C785D663C274F0A3F77C5D9BE3ABD84BEFF476D3D27FE863E8A9AA43D02A578BE7503F73DE21BB83D2987FA3E5C73373EFCA677BD76B22EBF4ECB86BEF4860DBE65698F3EC54C0B3E4EA58E3EBE2E12BEB49DBABE9CD12E3C563E3EBDEEBAE5BDB0246C3E85DA8FBD1EA0803E7802F33DFF36943E02A9A0BE0953E63D6B3504BF1105B73EFCD445BE78D634BEA13E44BD1EFD1E3EB8B8BB3ECCA2C9BDF0863FBDC7A9483EBFB208BE574A5FBDBC4F0CBC88AC51BE77E551BE467D31BEA16B083D01B570BD7E159FBBC64B42BE7536F33D1B16BABDF90EC13D28DA103EA622623E184BE23CDE2E66BDC36F223E48DD13BE4764283EA2A61CBE05102BBEC2A02B3DD661BCBD6CFEC33D08C9D7BC0CE034BD1E8D32BEDB81913EA381F8BE349F96BE496B863E0E8AB4BDAD745ABEAAC5E23E520ACEBD15EFC93E4E160DBF1A06743D85FC1CBE5EA7083EA72FF23EA7153B3D033642BE3BE20B3FAECCB2BE64BE003F071F88BEA873A2BDFF2AC5BE4ED79C3EBEEF2A3E837ECA3DDFA916BC8FD0643DC5D8663EDB6C103D9B845FBD442EA2BB098D07BEEEE3D0BDE1E3FE3CF136F8BC3615ADBD76621BBD85D2D4BDBF44C6BD3B98CFBD3FBFA53E388989BE84CF4B3D569ED93D3F1DAA3BF2DE25BEAF32CE3D9D655DBDB36657BEFEC1F43D2907863E180D0BBE59F0023C92A2BA3E49C394BE36D91A3E292EFD3C1547BA3D62F9ECBE9AF65EBEB736A7BB461D153E06905B3EDCF9523EC49E10BE06F3213E22CD0EBCBFEBC8BD01C2A23DAF030FBE31DA7C3DA86C893D7D4F8ABCCC67CA3D51E364BD74917B3CDEE70A3E0E1900BE33C504BD4C8F8B3D011D533DE671B7BD361546BE1C67243D0C27013E6752ABBCBAE01C3D116A89BE83B92BBE1F64083E66F0473E1AD5DDBC546C60BC30AB183EA7C9E1BD240389BEB3A42E3EC4E49EBE667005BE98EE493D82ED22BE2CF37FBC0BCD513D7E230F3E19C3D7BDB45817BEDCCC2CBE3B139DBD5242803E0ED444BB714336BE955C483C94856BBD3A1CE2BDF58ED2BC3393933D8DE8033E815EDCBDEDB71ABDAA9711BE68F16ABC0D0FE6BD24C0BE3E93FD55BE74A70E3EDCE3DEBDB069533ED7BE0BBE09B5A4BC2F595C3DE13DEB3D6B0973BDE1C092BEC30A4ABE1EBA843E5A3838BD8313043E0F4007BD6D0CD53D66EDD6BD750DB9BEA4D4D0BE4E6A083F591DE2BE6239F23EAFBA6C3E343BACBEC513CF3E9AED21BED621C7BDA3C667BD48C1ACBD195092BD57EF1F3E4AE3393E5D2B2BBEFEAAC1BDE763F7BDCC509A3CF78A263EB4EF8ABD1FED6F3D5F4D30BD96EB113E440126BE56183EBE74BD743D2920893E38B3E3BC19B106BE8D55333E7C531ABE3CAA053E9FAE2EBE079A9F3DCF0892BE9A44FA3DE8B3BDBDAC810C3EE1DB4FBE1539663BA188403EB663E93C4F741ABC32F4B93C6246C9BDF0E738BEB279EF3EC85126BEFF30CE3D6B1FA0BC823D91BD61822CBDAC30F23BBC8F58BD0138EDBD044301BE1979753D4BA812BEADEFD5BD9E0D293D18EBEF3D7FE8F5BD7340343EA68333BE22F6833EC8292C3E95399DBCFBF944BE194E17BE2708173EC36772BED396DD3D9A46583D41F581BE7CDEC93E7B73F3BB0044F7BD53040EBEF6F2C7BD0004473D3A4D30BEE0DA5B3D0D28893D4E9AB53C37F59FB9374403BD040674BD5B82883D9E251B3D128493BDFBB26DBCF6B0CABD1E776EBDEF7A8EBD63E57FBD2444E0BDB3CB0B3E1AE9D93D780B2EBE50C944BE724B9FBE619B88BD4E4A893E95943EBEA59ACB3E9411BF3CA43F6C3D917D5E3E6097853E4160883DBE37A63BF3FA02BFA96C14BDCE48053E795D8E3EDA37043DE00EBFBE292E4E3CB52894BE1755873EBAF543BED83B833DA1D4DF3E6784C0BE498FF1BDADF58A3EFA8FA03DB077D9BD84956A3DF992CDBC365605BD53A2C9BDF7A52FBDD110893D99F19D3C4A90043E1B9E06BE1707D03DEF24CA3EED1661BE4F43A9BEA3D884BE14E0D2BC8F2F40BE699A243DA984043F814304BD7795073DF9CF87BD7936BD3E82EFB03D019D5EBE5BB7A7BE7442503E8A8F2A3DC4D418BD1C47833E82A885BE0356983E70BE07BE0E89B23E78D5CCBE656BC3BC258D1C3EF082B3BE0591CD3E263AB9BB9EFB82BE14F5FBBC3984F8BDEBD410BEB414723D7099B2BD408FB93D35D5143C2F0DD53B8C89C23BBCDC08BCDC2236BE9066E63EB9FD1EBEE7C957BE6760883D753F263EE64285BD55E3B63AF7463DBEF2FCE6BD3DF7CDBD5804C93D6A214DBE271EB63B334EBA3EA76FE63DB95CEDBE279C7B3D2755BFBE7FD3043FFAE0033E7714F2BD2C580EBE9FCE543E5F4D8BBE812E8A3EA82C63BE82BE703E13C315BD9EE7F93D"> : tensor<16x4x4x10xf32>} : () -> memref<16x4x4x10xf32> - %14 = "krnl.global"() {name = "constant_1", shape = [2], value = dense<[256, 10]> : tensor<2xi64>} : () -> memref<2xi64> - "krnl.memcpy"(%12, %13, %c10240_i64) : (memref<256x10xf32>, memref<16x4x4x10xf32>, i64) -> () - %15 = "krnl.global"() {name = "constant_2", shape = [8, 1, 5, 5], value = dense<"0x16E911BCDD9772BE234202BFF73884BD2037113EC08B17BF9B58F3BE48214ABDC7A9443FE9E4863E6BC8FBBE56CF633D6E6D823F18010E3FD621E2BEAA5D23BE0ABB0E3F4B93173F58E896BE5AF91CBFF8B01D3D9B71673E39CD5FBED052F4BE5A5A95BEAC5B23BDA1D85F3E2759FF3E82EBD83E0CDA463D5E38CFBD14C78DBEB52590BBC2F4063FB38BCE3E40751ABEE744A7BE28CD22BE4ECEB73E17CABE3E425311BFA07CC5BE44DD31BE9F82693E145EAA3ED5F5C2BEB3FC6ABEAFA887BD42906EBCFFDF913E8C07C2BCE606D63D6DDB813E1F3AB93EEBE2303F2E7AAB3EFC80D53E3C08C53E70A8A83EE9D8783E092AF0BE55909BBD5BFE13BE65BA31BE70B17CBEA30179BFB33237BF4FC809BF49E51DBF709BE5BE26C24BBE9FADAABE29BAB2BE678A15BE8A3F82BD253897BE6432AABEE8EEA7BEBD37A2BDF9C463BE431AF4BEFDC557BE94A36BBD2AAB273E9BDC253E4C90C8BE5DA0C0BC0773FC3DA4AB2D3DB285693E729EC13DA67BBE3E0EA7603E6D8137BC3D86393EA2B0A73E86C5B33E311AEE3C5F3E563E7272AE3E0CB05BBE3EF4F9BD50021CBB2B2867BE470825BECC5EB63D35E5513EBC1920BED21167BEADE50FBF88B876BD1A24D23EF85C6DBC5829F3BEF06510BFEAABECBDD781113EB6B08D3E3F7C2E3DB2393DBC0DDD1E3C52057C3E3128203F62EA2E3F79BC713EEB072ABEBDE9AABE78C843BEDD205B3DFCF8103E90423B3E104F0CBF4DB83BBFB29816BF03B9C4BE09500A3F8E37B13E9D2C81BE066DB1BE26FA57BE296F613EAFAE283FFEC4BA3E8E7A043EBE60E0BD85B0763D8F0F9B3E78AC723EB034F03EEFA6643E47A5C83D643A0F3F16945BBEA954EABEE4E858BEEC93BA3E4560F93E56BBD0BE69C0DBBE017C7DBE8C71D43E589B993E0171EABED09A9BBE5960B7BD345D8E3EDD5AEA3D177330BE250FB4BE71AD1BBEF884B23E88413E3E142D913D9365093E3C2A3DBD26EDB4BC482C07BEF8C5BB3D562A6D3EB0F2AD3EC102293E71C2C03EEEB5473EFA5DA13E2230113F57ACF1BD7AAF483E91BC073EFDBF433DD1D9083EF975E83C8E7D0EBEFC59F7BDE4454ABEDE9500BF71BB12BD4B6242BE1AE6DABE88CA91BE19EB42BE"> : tensor<8x1x5x5xf32>} : () -> memref<8x1x5x5xf32> - %c0_2 = constant 0 : index - %c1 = constant 1 : index - %c1_3 = constant 1 : index - loop.for %arg1 = %c0_2 to %c1 step %c1_3 { - %c0_40 = constant 0 : index - %c1_41 = constant 1 : index - %c1_42 = constant 1 : index - loop.for %arg2 = %c0_40 to %c1_41 step %c1_42 { - %c0_43 = constant 0 : index - %c32 = constant 32 : index - %c1_44 = constant 1 : index - loop.for %arg3 = %c0_43 to %c32 step %c1_44 { - %c0_45 = constant 0 : index - %c32_46 = constant 32 : index - %c1_47 = constant 1 : index - loop.for %arg4 = %c0_45 to %c32_46 step %c1_47 { - store %cst_1, %11[%arg1, %arg2, %arg3, %arg4] : memref<1x1x32x32xf32> - } - } - } - } - %c0_4 = constant 0 : index - %c1_5 = constant 1 : index - %c1_6 = constant 1 : index - loop.for %arg1 = %c0_4 to %c1_5 step %c1_6 { - %c0_40 = constant 0 : index - %c1_41 = constant 1 : index - %c1_42 = constant 1 : index - loop.for %arg2 = %c0_40 to %c1_41 step %c1_42 { - %c0_43 = constant 0 : index - %c28 = constant 28 : index - %c1_44 = constant 1 : index - loop.for %arg3 = %c0_43 to %c28 step %c1_44 { - %c0_45 = constant 0 : index - %c28_46 = constant 28 : index - %c1_47 = constant 1 : index - loop.for %arg4 = %c0_45 to %c28_46 step %c1_47 { - %21 = addi %arg3, %c2 : index - %22 = addi %arg4, %c2 : index - %23 = load %arg0[%arg1, %arg2, %arg3, %arg4] : memref<1x1x28x28xf32> - store %23, %11[%arg1, %arg2, %21, %22] : memref<1x1x32x32xf32> - } - } - } - } - %c0_7 = constant 0 : index - %c1_8 = constant 1 : index - %c1_9 = constant 1 : index - loop.for %arg1 = %c0_7 to %c1_8 step %c1_9 { - %c0_40 = constant 0 : index - %c8 = constant 8 : index - %c1_41 = constant 1 : index - loop.for %arg2 = %c0_40 to %c8 step %c1_41 { - %c0_42 = constant 0 : index - %c28 = constant 28 : index - %c1_43 = constant 1 : index - loop.for %arg3 = %c0_42 to %c28 step %c1_43 { - %c0_44 = constant 0 : index - %c28_45 = constant 28 : index - %c1_46 = constant 1 : index - loop.for %arg4 = %c0_44 to %c28_45 step %c1_46 { - store %cst_1, %10[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - %c0_47 = constant 0 : index - %c1_48 = constant 1 : index - %c1_49 = constant 1 : index - loop.for %arg5 = %c0_47 to %c1_48 step %c1_49 { - %c0_50 = constant 0 : index - %c5 = constant 5 : index - %c1_51 = constant 1 : index - loop.for %arg6 = %c0_50 to %c5 step %c1_51 { - %c0_52 = constant 0 : index - %c5_53 = constant 5 : index - %c1_54 = constant 1 : index - loop.for %arg7 = %c0_52 to %c5_53 step %c1_54 { - %21 = addi %arg3, %arg6 : index - %22 = addi %arg4, %arg7 : index - %23 = load %11[%arg1, %arg5, %21, %22] : memref<1x1x32x32xf32> - %24 = load %15[%arg2, %arg5, %arg6, %arg7] : memref<8x1x5x5xf32> - %25 = load %10[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - %26 = mulf %23, %24 : f32 - %27 = addf %25, %26 : f32 - store %27, %10[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - } - } - } - } - } - } - } - %16 = "krnl.global"() {name = "constant_3", shape = [8, 1, 1], value = dense<[[[-0.161539719]], [[-0.433835655]], [[0.091641359]], [[-0.0168522168]], [[-0.0650264397]], [[-0.131737873]], [[0.0204175506]], [[-0.121110231]]]> : tensor<8x1x1xf32>} : () -> memref<8x1x1xf32> - %c0_10 = constant 0 : index - %c1_11 = constant 1 : index - %c1_12 = constant 1 : index - loop.for %arg1 = %c0_10 to %c1_11 step %c1_12 { - %c0_40 = constant 0 : index - %c8 = constant 8 : index - %c1_41 = constant 1 : index - loop.for %arg2 = %c0_40 to %c8 step %c1_41 { - %c0_42 = constant 0 : index - %c28 = constant 28 : index - %c1_43 = constant 1 : index - loop.for %arg3 = %c0_42 to %c28 step %c1_43 { - %c0_44 = constant 0 : index - %c28_45 = constant 28 : index - %c1_46 = constant 1 : index - loop.for %arg4 = %c0_44 to %c28_45 step %c1_46 { - %21 = load %10[%c0, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - %22 = load %16[%arg2, %c0, %c0] : memref<8x1x1xf32> - %23 = addf %21, %22 : f32 - store %23, %9[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - } - } - } - } - %c0_13 = constant 0 : index - %c1_14 = constant 1 : index - %c1_15 = constant 1 : index - loop.for %arg1 = %c0_13 to %c1_14 step %c1_15 { - %c0_40 = constant 0 : index - %c8 = constant 8 : index - %c1_41 = constant 1 : index - loop.for %arg2 = %c0_40 to %c8 step %c1_41 { - %c0_42 = constant 0 : index - %c28 = constant 28 : index - %c1_43 = constant 1 : index - loop.for %arg3 = %c0_42 to %c28 step %c1_43 { - %c0_44 = constant 0 : index - %c28_45 = constant 28 : index - %c1_46 = constant 1 : index - loop.for %arg4 = %c0_44 to %c28_45 step %c1_46 { - %21 = load %9[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - %22 = cmpf "olt", %21, %cst_1 : f32 - %23 = select %22, %cst_1, %21 : f32 - store %23, %8[%arg1, %arg2, %arg3, %arg4] : memref<1x8x28x28xf32> - } - } - } - } - %c0_16 = constant 0 : index - %c1_17 = constant 1 : index - %c1_18 = constant 1 : index - loop.for %arg1 = %c0_16 to %c1_17 step %c1_18 { - %c0_40 = constant 0 : index - %c8 = constant 8 : index - %c1_41 = constant 1 : index - loop.for %arg2 = %c0_40 to %c8 step %c1_41 { - %c0_42 = constant 0 : index - %c14 = constant 14 : index - %c1_43 = constant 1 : index - loop.for %arg3 = %c0_42 to %c14 step %c1_43 { - %c0_44 = constant 0 : index - %c14_45 = constant 14 : index - %c1_46 = constant 1 : index - loop.for %arg4 = %c0_44 to %c14_45 step %c1_46 { - store %cst, %7[%arg1, %arg2, %arg3, %arg4] : memref<1x8x14x14xf32> - %c0_47 = constant 0 : index - %c2_48 = constant 2 : index - %c1_49 = constant 1 : index - loop.for %arg5 = %c0_47 to %c2_48 step %c1_49 { - %c0_50 = constant 0 : index - %c2_51 = constant 2 : index - %c1_52 = constant 1 : index - loop.for %arg6 = %c0_50 to %c2_51 step %c1_52 { - %21 = muli %arg3, %c2 : index - %22 = addi %21, %arg5 : index - %23 = muli %arg4, %c2 : index - %24 = addi %23, %arg6 : index - %25 = load %8[%arg1, %arg2, %22, %24] : memref<1x8x28x28xf32> - %26 = load %7[%arg1, %arg2, %arg3, %arg4] : memref<1x8x14x14xf32> - %27 = cmpf "ogt", %26, %25 : f32 - %28 = select %27, %26, %25 : f32 - store %28, %7[%arg1, %arg2, %arg3, %arg4] : memref<1x8x14x14xf32> - } - } - } - } - } - } - %17 = "krnl.global"() {name = "constant_4", shape = [16, 8, 5, 5], value = dense<"0x0AE346BD5C65BABDAF37D7BB317C03BE1507DF3DCF86AC3D486E2CBE83EB8ABE4DDB9BBC88D98D3D9CD1223D1AEE40BC316981BD077B1ABEFB48E6BD3F198F3D8987493A89B7AA3D456439BE2AB3F2BD458E5D3B81AA803E1943463EF7535FBD353703BEDD1CD9BE468F8ABE8CD684BE21F7A53DED29B43D8F001F3C3CEF6ABE231B83BD78BBB23CA5474BBDA6882D3E0444713EFB359FBC19460ABE44582FBD3E4287BD029B3E3E55D7393EF95C14BEF69CF63C3A340FBE6FA9E83D6D23D73DB218523D03B26C3D67C91EBEDF3109BEEC82A13D5095EE3D728D0ABE9B04FFBDF21C54BE8DD011BEFCB97BBD90B3ADBD75FB41BE6AEC61BECBC35DBE1887B1BDA4ED843DADC284BE8BDBD4BD097BAABE9FE109BE2B9F01BD78B2E73CED6BB73D08A7DEBD00F03FBE012E65BED851D33D67FE42BD1914D9BC3C14B0BC4E1DEB3C6107443D7F51CBBA3EB5D43D464CB4BDBEFC60BD8C1B9D3D3267D83C03FB83BEE6AB91BE22A155BEAF90923C1EDD8A3D3CB80CBDFAF49BBEEDAC01BE68CE2ABC847AF03D10F72D3E285789BD197E613DFE08333E042C86BD6D510EBECD029EBEF705D6BD0A79BD3D2294993ED6667A3D8F4365BED9F75EBE3C97B1BD83780D3DA082F93DD9DC12BEB3BA10BE60B5D8BE630311BDBDCA593D6827C63C96A783BC1E99F6BD558126BE9F22C6BD5F06123DBD925D3CCC4E133E5F7CA13C6FA2ACBEFF8264BE31EB25BE987F2B3EDF70E73EF81F893EBEADFFBD197E5FBECDBD18BEE2BB9BBD50D7833EC3B0D23D7F4F853D9282D7BE69749FBECF8413BD07AB3F3D4985EA3D390F5ABD566D0BBEFD5D88BE5A2E5ABEEFBFFDBCDB9A5E3DCF9E2EBE2F5B94BE9FA729BD358F7CBE0D5FCB3D52EE473E180DC9BD927D8ABE175D19BEBA41AFBD2F95013B88885D3D7A7A3F3DC1F124BEDAB4BE3C5991853D8BD47B3E4160783D703A523C4BF9C1BD29B4D8BDC9D86A3EEF34513ED31BB8BD297B7DBE95BB133E4FD2543D1940C4BC5FCDCC3D88F869BDBE589BBD524C6BBD3C90513DF452B13DE4147F3D1C351EBE9BE30FBE749EA53C1A69E23C2423D0BD805EEB3CD41403BE947268BE6F9D89BE4E70083EFFE29F3DFBD4FCBD19E314BE120E31BECC69993D42E05B3EC4DA98BC1A583EBC538D21BED4F220BD10F66ABCA8210FBD08D00C3E02E5803E4327333D860BC9BEE08D9FBD6593193E4721533E6C5010BE8CC745BE839A31BD73C8B83D47485E3E0F09ACBDDF144FBE9EB906BE838ACCBD2E47E1BAF127BCBE86C79EBE632FD3BEF5AF04BDBABF13BEDD6FAABD9FEE84BDB82288BE5FE871BD558BD1BD38ED143DB76A0C3EC28719BD4222BFBDBE15E23B97DAA53C886E6B3ED4BF13BCD3482FBE28BC38BE12CCBD3C3CBC1DBE441856BCCEFD07BDCF84AEBDAC3F63BE781781BEC1283DBEE34B66BDE799C33DCE58D4BD33DB2DBE9B2321BE3DD9EE3A3F46C83BF293C4BBD10E563E6DDD823D145C293E48A28D3E667D6BBD6536B23D9346173E3DBA0B3E23481CBCCBE2023ED9CF90BCE2879FBD57FA05BDAC441BBE92AF0B3E1946F63C986292BD772321BE3E8FA3BD9A23C73CD69BD73B1F000EBE3750E83D1724733E245989BDB45002BE1279C6BCBBE45E3EB34A763EB6AE69BE09740CBC23E348BEC7E4B6BD39B736BE99E84BBE75729EBE86B3E2BDC66AF4BD05C42A3D2B1A3C3CE587B9BD855C25BE867E25BE79C1BFBDD544CF3DE8186C3E2310AB3EAC8922BE6946E5BCD5EE1B3EBBD4073D0EF7503E7859DC3D9C38023E848AD83C4EF93DBE395C5CBE87121BBE290847BE413CD0BD2ADA88BDDBF339BEDDDF66BEABDE7EBD706557BE3971B2BD7AD806BECAF0F3BD5F2B19BEFEADCC3DD0D4F43D5CEC693EBB2EEABCFF24353D404C213E6C2DBC3D00E7683EABA5B2BCF749443E3AEB963D9566483DDC9920BD91BA40BD00696ABE550814BDABAE293D4CF99EBDE7B185BE7CC7BABDB91331BE3B1074BED5AED53D6075FFBC29EC82BB86554CBDFFBA0B3EE0735E3E567D4DBDD1F02BBD4DEB81BD8F218DBDD1EF0B3C0574793E2F3A0D3EEBBD36BC0B5C12BECB60E43DCFC7953D24CAB3BD7D2D493D1B8D3FBDF10940BEFC632ABEE31050BDE294ADBD8DC2DB3C2A23B1BD8CF43EBE6837F13B6FA70BBE1FEA76BEBD138DBE8C1CD9BDA92957BA3D8D9EBDA79DE63DDAE7C83D874622BD2221033EDE3EB33D97748A3E7A8C4F3E6480543EF404233DDCDC18BE04A8BFBD73E1DCBD686247BE6DA68ABE507020BED215DABC4CB8C63D965A0EBC615277BCD2F237BE1C0F70BD6C03A2BD88F961BE8559DC3D834402BF74AC9EBE73D611BED807643C624808BD84907ABDFB7269BE33F52CBE4765F0BD375ABABDF006853DAC4671BECC3689BCAC60EF3C67B5563E2C732FBE22B4A03EA768633ED51973BE08DE2EBE8C3A5FBEE0414B3E0BFB2C3E4E2D7C3D155B2FBDC06989BE92CC873DA175953ED2CC193D9B592B3E63CFA5BE578A84BE5AB794BD9E1348BE761B913D91679D3C487595BD8A6D61BD904BD8BC468040BE2A40BE3D9ED641BCE9AC3CBE3DE8F8BC8C04A6BDD44BF23DB9130B3DF53B1BBE6539FFBD1041B83E95929B3EE79C233E9679F03D8B03323E29745E3E46B5C9BC907D54BDD0ABA4BC50FFD93DFA76ECBD0EF0D13D2E1682BD3D9BEEBD0DBC08BE07EB94BD581CA03DAB05A13C2E7CD93DC054A93D0B131E3E9B1197BE9DBA44BE50AE95BD1FC5433D17AD4E3E47D262BE4E5592BE52C9C9BE7D3104BE2B598CBD2B2E823ED38FC73D55966FBDDA9F0CBEE98381BEEADA873EDBE5393DEAF87E3D23DD373E1077333E364EB53DC058BD3CC8BD9DBDF9EE9F3DCFB93EBD008CACBD5A5784BD4F8800BEF622ACBD40B8683C7C0E113DE49728BEDA807ABE3B23BDBEC7D538BEF3BB0E3E85C1D23D3DBFCCBD7C171FBEBF8ECDBEB114A43D6750EE3DDEFC473D0CE2533E907ED63D730F98BB812A773B285A41BE4277BB3D82A3B5BD093E3EBDA49D25BED24E1DBDAA3347BD138854BD74FC863D0FCCB33C7CA302BE344946BEAD488ABE5E4CC13DAAC3683ED84CC33D0BCD26BD21A373BE3F6B0FBE693A243DF8F15B3EE82F8E3D2EFC9B3EDF6B8ABD962377BD446A63BC94A7643E63A9F63DCD0380BDCA319FBD8BD18F3BBD4287BD02089ABE1A100EBE1C3662BE5F3225BE72598BBED16491BEB9CE5CBE3D0A97BDCEA648BE00E58BBE316886BE56C43EBEBEDB663E2484AD3C4AEC543A1E45373C8CCE863D53F909BD147653BE148B52BE047154BE4276A2BCC8E04E3D0E8A9A3BAA144EBDBEE2713EA0F383BD03035B3D62BE893EE5F6B03EF964513E6DBDD4BE210D7CBE0BFFD5BD148737BDC2A0DC3CB650B23D77CC65BE067E6ABE9D43D53B081794BCF538AC3E213B533DB3A3D1BD8CD66CBDFE1924BE93E81EBC903F56BEBCECB23DAC43CABD53CF0BBEE54950BD1A4F23BE6166A63D28F26F3D1AAF67BD24B23DBC0EBC00BE175D1D3EA7EC10BDEC80A7BC83A929BEC573A9BE9B9865BE290E953C9F6369BEBC018E3D988CFF3DCB5AFE3DAC9E4DBD551DBE3A68C0C73DCBE1853E67F62D3D1CEDBBBD3536883E4054453C3107823DF95D953E6BD856BE28DBA5BDF3181BBED4BB8A3C8907D73C1D5093BE055E1FBEF052EDBD3EEC29BED11547BD2F50BBBDE951AFBE80EEA8BDC3E915BE99BF7C3DA89283BDABB1D73D2984053DAE7624BDDA6A2BBDC0ED15BEBD773E3DBC3044BE2612C7BD993EDBBCBFB60EBC84D83BBEDA10053D87DA603D3575673D7253B93D872A95BDB6FF263DF807913CC1C5BD3C18ECAE3D6810963D4D4F973DB587493EEF11083E981CA6BD7183BCBD1C8DADBC8208853D2960883C6EB84CBEA0B6C8BEC1A35A3D5CE1173EAF8082BCD2C73FBD362D40BE32D81EBD27C4C4BD693477BEDEFDE1BD0EA3FFBD1BD746BED83358BEB801B7BD1DB9E5BDEF834ABEE3B5E9BD631A74BD852DCA3D52B047BBD63FC23D9F668DBE84708DBE9DF1DB3DABE92A3E0B081FBE9AC8CDBD691567BDB1752DBE0085E23DD0C303BE1C1E69BE7C3CC5BD78BDD0BDD1F4D1BD2B6FBABDA650CABDC5A801BEF7A78FBDCF8709BD91DA50BEADA50EBE6F2A66BEC420ABBD7274C33C7BBA243EF8A821BEB81372BE68133FBEC7DEA93DC4E1FC3B077742BEB2DC16BD389211BEAAEB3BBDA043173DC9DF90BE5C7D29BE7EF63DBE54916BBEAB8E36BDC72954BE191E7FBDCBC4D9BCA3F6B9BDB3EC90BC04E95ABE81072EBE36EA4EBD8674243E637AD6BD9DBC3CBE596EA7BD969FC53CD9E9A13E1DECA8BC6DCB17BD573C82BCA7DC8E3D81E9D03E46D1443EC5BA1BBEB2F8A4BD057E423EABDB823ED9A8B93B863982BD20A0C0BCA2BDE93CDF26DDBD038AA0BDB9E7E23B5476F5BC4C80503E0A01D33DE75F7B3D3CEBD8BDCE149D3D2DE9883A37D2443E39526F3D9E2D56BEACC9E2BD484E1B3E581C18BDC2E75DBD4B8366BD3A3B2D3E9008313EE12D93BD0A8C1EBE7245C73DE9ADB0BD1AA41A3D45B6F8BD97A334BECF5E19BDD12BF8BD0B4D85BDBBEF3DBCDC723EBE5DC5333E8688693E496DE63D0603AB3D6CD0F6BDD5F32F3EDEA35A3E023F603DCF55833EF9E538BDA2209DBD7C03F1BC2508C33E8A3EF03D9ABB813C139437BE4B2290BC790ED73DE950E73BB04A75BDA59B92BB52CB0FBEB5CB88BDBB2F47BE644F44BD11B9663C568C59BD1F94C73D5FBA3A3ECA758B3E36D5173ECB2FDFBDD81FC9BB603F6E3C0715EF3C00AC2DBD9E3315BE9BBC87BE02734FBEC2656DBE220E443E06B9083E23B31BBE869C61BEE25296BE84D993BDE76E56BD4350903D6E1A2B3E39EF263E76B639BDAF5629BE3C3521BE3B9BB0BDD7960FBC79C185BD4DD7EFBD760394BE3BC311BEA73B8FBDB44E96BDCE99403D65C4903D91C03E3CA58BC83AC02F893E935BD43EBBECA93E1D76593DEFE9BABD887DBABD71EBA4BD56D19EBD9ED51BBE2A388EBDFA8D23BE171B903C5E6B893CB883D5BDCB6A1ABE00AD0ABED81461BC0E2BDFBCDAF7F83DC8FE4ABEF05BD5BC8605D23CFDCD71BDA0FF663BD24EC1BD5AD505BE84A471BEA7E0DCBDC30D89BE09478FBDF95BDE3C061E963E8B20783E0667E83D9FC6C23D7C4F94BBCB808D3D333CF23C18F506BD6459ABBDD61620BD4B20143D663F76BD50FDAF3D417E8DBDAFC01A3D16ABE73DD12C95BB009D54BD011187BDAED71DBD640A92BC9BCD5DBE488A87BE75CF6FBEE1610DBDE778C83D6B4D3B3EE918243E42337B3E8042333DF6174A3E32D9963D4795653E93DC75BD40DB8BBCC13FC6BD099CC3BD2811C53B369D00BEEB39C63DCA68243E3382C2BDFEA787BE2FE350BEBB75613C1E461C3DF1E2BFBD2A0721BECA3092BDCE3FDBBDDCE708BD071F183DF8DDB8BD4890ACBD71DE00BECAC61ABE1A6EE43BAF65553DDAD6AA3C103EE63DE352D4BD602C193DD34E873D8AC0DE3C1C31623C052CE3BDC2FD6CBE2DC23B3DE388A83DFBDA66BEDB00D2BD9923DFBD0266C8BDAA82FBBCA5A5413E22DE353DC18B9ABC4F880ABE33402FBE7C04393E5556DD3D27CE82BC00600BBE681D5FBE75DAF2BD551FB8BD481403BE1FD175BD33A4BEBDBBD428BEAC7F8DBD54FD663D4F80A83DBAE701BEEAFC9D3DA73AA73E1B09233E9DAA25BDC0E200BEBD39863EBFF4A33E2773EF3D03BE973E8CD4D23E45D382BD693EC53D4EC2D0BD8F1094BD20AF913C0EFBF9BDAAF58C3DC7FBA4BE8A11E5BE4F4359BEA08133BD378152BE64314EBEC8C567BE5A6AA6BE90D73DBD06FA1CBE40E035BEF04BB6BD03FFA6BED6EED83DE21A963EC7D3BC3D4402DCBD4F35EFBD701CE53D547D243E32AB433E03D38ABC9212BABDB6060E3C8546B4BD2B6A623ED4D7A23EF0F30DBE54AF773D979C243C926A663DF903653EAD9F273DBA4984BB1BE3493A067A8F3E1273F43C974C0BBDB16F52BEBB315DBE7CCED2BE773E4ABE4C965DBE030B06BE25F463BE4E6E81BE655389BDEEEF03BE3AC8E53C4610893D0CB6A9BC7A7EAFBD4E212A3E16000B3EC21E553D0DBF1ABEC5CE33BE0B21513E38C763BDB4E41EBEB55181BE90B6363DD650293E83969F3E13843A3CA541763DA4741BBE4E02E03CFC2E3DBD5376CBBD3D33B93D15B5FABD35DD66BD4B46CABD5779E6BC97CCC6BD5391EBBB083638BEC51C83BD4E87DEBC54B58ABE3F7A38BE9217BEBE4EF57B3C8F0361BEBABF93BC78651DBE5E812ABE5BBF03BEF28D8ABE040F28BD5F64223EF263E53D6BF4A43D348249BEB0FFB5BEAEC10B3E515E5F3EB055F73CB1933ABC54F168BE763B81BC48422D3EE7611D3E8DE5803D1A3420BE9217503C659D0F3DB779D3BC43BAC5BCBC9B39BCACF4253D5EABFF3B2ED4D93DE5E22ABE13DDAFBE6DC5A2BD082688BD2F6BC1BB10232ABE5EE0BEBEBF845FBE4E07FA3D05AB923DA0FFEEBD766885BEF245E4BD9CE2AB3E3805C33DDE38BE3D0F6FB2BA87C93C3DCE72DE3D26CF8CBDD111923D68C31F3D947A83BC41B620BD01981EBE29A4FF3DB79A563ECE4309BCB239853C63F4073E221F893D9B1A12BECA10453D15DD223EDF572B3E5920F1BD077510BE87748DBDCC82FC3D8F7ACDBD085007BD771C92BD564951BD2D5F5CBE4B7D21BE63C8EF3D3BB72939A9DB163EED9E6CBC1BC79D3D170206BC23D5C2BD85ECABBCE2FBFC3D2B5C053E80569E3DDC3BB63D5DAA5C3D029D4A3D1C3B53BDA0AB243D0E98763D3C1EA43D60BF4C3E71FC3C3E0CA381BD537178BCE0B7CA3D791C4F3EB2EAC2BD420124BEB12C6CBEA97A8BBDB3D69BBD16D99B3DDEF8323DE37276BD88295DBE881A1DBEAB354B3D37CE613C34D00DBECD6C003E4860BB3DBD78ADBD387399BD788FBE3C14E4923EF77D943EDAD5C9BD2320CBBD4D4B453EC77E7CBCA5E78C3DF13F36BEFB51653C9EFC18BCC0DACEBE651CBABE3302C93C52A6EFBDAC9049BE6E9E78BE970197BE4185C3BD72FD98BEFB2E56BED23084BD9189BFBD35C405BE93189EBD1F1C7EBC1E6208BE54F5CD3D86A33CBE833AEF3D3B380E3E2F2906BE6479AA3CEE8A433CACC3883CD27CFCBD588731BE25D4DA3DCC3D53BED94127BB474DA4BD7F6582BC63405F3EF7A84ABE43602BBEC62383BD043502BE355C073ED23619BE4FE7D8BDC24586BDCBC5C43DFA42E13E8E72ECBDD5F043BECA7B29BE522C05BE81C372BD282352BE27D299BE39E00FBE7EDF523CF69A253EA165673DE6505DBE3C1F12BECB4F46BD0315853D5B77CBBC7D9756BEC1F807BE7539553EECA9983E7CABCABE6F6CA13A337C243EFCCB183E781230BE768E65BEC5B0FABD8EF6FB3C22FBAEBD8FE875BE712D54BE163DE7BD164D9FBD2884FBBE7C7A85BEE876C03DAF4877BD281330BE063CC2BDCD52713E40F0F43CE2F508BE7A2DEFBD2073823D418D463EE946953C8E6AE6BDFD6FB8BD86C074BB6A0C2ABD70BCE23CA95089BDF455DDBD0A16953DB7DDC439ECBE0C3E5542A3BD94B54D3DFBB498BDA2A0143D98C5893DF0BCA03CDAB2E6BB621D21BBEE18163E9D96B8BDFEF18CBC5ADE42BBE695263DBB76083E044045BEE5C01D3D659A9B3DA77F1FBDB38B503EBB965FBDE2FB07BE64DC2EBEF726AA3D543E133D5F1E073EE0EF673D017C17BED1A752BD5B12CC3C3681C23D1EA4B33D81EF3CBE94A8A7BE6E7730BE59B87F3EFFFAE33D9662FABD188288BEA4CD63BDC546AD3E520030BC3FCA0ABE392FBFBC036522BE971A083EBE972ABE5E16163DB101BA3ED94FADBBEEFEB6BD8ADB2BBE06B8D43E0A10AC3D31E8B3BB8FE830BEACF635BEEA3482BE497244BEAD125CBEA5CDF83C89279DBE910517BEF51527BEEBA5B9BCC8B922BEAFA2B0BE48CA873C4ECC823E68D1D63E600235BE0BDD26BE720E193E71BC4E3D3FC22D3D3D16A7BEA73CA2BCB7CDB03D68D4383CD6C431BDCBA0D53CF4E5BC3D2AD00ABC3894BBBCB006E0BDCC8E433DA3CBB03DA521B2BDA9F4D3BDEDD272BE7325793C80D69B3EE1ED073D22C42BBE20F3DC3D7153123E1121223E9113D0BDCD1E673E9F569C3D5250113D166213BC88C67A3E2386323D19E3073E546EEEBDF65A403DBDA400BE0C9605BEE199843E99C2153EACDE643CED2D39BE603AFBBD6AE45D3E4590053EA0E67DBEC6D39EBD1CAFD83D91D1B03E6FF51B3EB3B638BED53A9C3D97CB25BDEB94A13E6E4A71BE5B46CABD3B2DAABC25C0033EFF6EFF3B480F64BD1BAD26BD4D47943CDDB39B3DB6F017BD8D6A46BE9F408CBE2938703D71A0A23BC00DC7BDD06449BE82A99DBD18E7623D330E15BDB14183BE8724123E59D28B3D25C00CBD4BF85CBE15464DBE637B323E038221BCBC3F31BEF2F6813C978D0EBDD718963D92CC173E0007673EEA2AC03DC5B9CB3C4A94D63CD66E403DAEC1343C686CE8BD653A053E4C01F23CE65DA73DD57D34BE9BDB82BE7D12CD3D4E26E7BD5D3569BE135983BE0D044A3E011E983E8F7B0ABEC55B2EBE965B3DBE9FA7723DCC74A93D826EFABDB90BF03DB00E7A3EBDD7AD3E7BB824BCE6AB52BE030DE1BD160283BC46BEB0BD391860BE3AE69CBAA374C6BD087692BED74681BE751297BEC68E4BBEA31B7DBEB2ED84BEAA03D9BDED711BBEEED807BE6CFDB1BE66D8B4BE84B0DCBC520639BD3EFB093EB52E863DAC48F03DFA943C3E9F6E513ED4541FBE57640DBEC2A83DBD9D8B823D973D4A3D372939BEE90E78BD43906ABE5B88E3BD4B6D8ABE9489AABDD8D436BEA6DB8CBE83EB31BE41B36BBD54E282BECC5CB0BE0308AABE769707BE43591ABE9ED73BBDE39738BE9D26A0BCF10DBE3D80729E3CA2E657BE3045BB3C454D09BD183D0FBEF5798EBD7A8333BE5316043E05EBC23DD24E2DBB318E0EBE2C53C7BDF5C4183E3DC39F3D2D6282BD30CA00BD033D4DBEA2FB7E3D4D7C1DBEE9550F3EB48E123D091891BE8CD7A03D6364063DAADB993C4195FCBD0F2898BD2DA62A3EDBA3353E6D131A3E515637BEA930963DAD73113E687B23BC25B65ABE1E9948BD08A9413E357A03BAE3AC78BEBF2115BE2F5C08BDDEAED83D3685A1BE91A31ABE1001533BC8A5173EBD8265BE1E8D81BD9BB959BE784B2E3D92E4BA3D15422CBE50EAE7BBBBE799BED35D72BE5E5B41BE6F137DBD807D853D616E9FBE9F332BBE637265BE2B89C0BD636BC1BD47FC533E3F5C083FF1CDD23DB5220EBCA7E0633E7D59C53E0C7F813DA9F53F3D6E4F75BE3AA3183E8886843D7A843D3E13A4B33DCB028DBC28BED9BDC34E153E70F5933E6CF9DF3D24A2DEBCBC2AACBCF97188BD80EA6E3E39FC1A3E02E440BE548C8EBCB4EBD83DF7438ABE6734A5BD6B34D83D3A9C36BDB28185BE1DCE3ABED7C1DF3DBC8C25BE9064353DA573CF3D2021C43D84234BBC31FCE2BD7B4D7ABDB88E9B3CF484C4BD3D74BEBEBE18F73D5C5F213EAB983E3E09D753BE5F9B4CBE8C7B4F3E051DDB3D90E314BE3A3B8ABE909D3BBE08B29BBDBD88D3BDBCC599BE58A279BE61871DBEF9B15CBE57961E3C18B3433DACD11CBC25F617BEA09D32BEDEC651BDBEF5EA3CD00F1BBCEEFB33BE9A43B8BD6DB2CBBDBD98A4BC022A83BDA8C65DBBB11043BE4803F13BC703553DA174403E99A3C03E0C2E063EB9236C3E72918C3E6A10443EA9F19CBDFEFEA8BC82E9D23DE177DBBB9A7BDEBCCC0C933E8A0F16BD9D03663E2BC23A3EE8B823BE8B19863DEC42D6BD16843EBE4F8B95BDA95A2FBDA4A0AB3D05AEA5BEB982C53DB18A05BE60EF2E3DA7CC10BECCAB60BDC0F188BD8BA232BD0A243CBCB0BCE0BDE496A7BCE1FF9CBA6011CABC510299BDC6ACA03E18C5D2BC771B313E89232D3E89325F3D7F4A6F3E8A84523D1A3DA7BDD78CA1BB8CCBD5BD066FBABD3B8405BE2233CA3C1113BE3DB29DB7BD7D8B5EBEC9B5F2BD2539AB3DE30414BE0E6A99BE077071BD011C543E390E01BC6A521E3E8C11093C5C1D903DAD73DBBD269C47BD3C5F85BC0F31EB3D54F5403D0BB4B2BDBB157DBEE705A1BE73E959BE59D388BC04C4D5BE6102AABE000DF2BE9200E1BE689C94BEF228B0BEB83DBCBEC965A5BE455DD2BD250BF13DF6344BBE976AB9BD882269BCEA90A6BDDD6311BDEF25C3BD4B7166BD002AB13D250810BE4921D4BDD15F1B3E3E18263E6037D3BDA033B0BDE9054BBED34DCABC05F386BDE5354D3D730CD33DD2371F3EB83B43BE1FD2D3BDFCA1163E9CFACA3DF551D53C224074BE7F72B4BCF76F8EBE8A571ABE896F273ED504B93D2618613D799959BE1ACC333D8D6C5F3E5BDF0F3E6015403B2A59D8BDBC4B043EF280343C12EB753E3025AABE7163B8BD51B115BE1E305FBEAB8D963CA28ACCBD8396BBBEEDA8D5BE4854EEBD9042ABBC5E4EF33DEDB4333EA642203DC11C39BE0BBCC63B613881BD8F8CF23DB672D33E1F70DFBD3EDBD23D0CEF21BEBC69113E139A983E39B2B83CA50F1CBEE6F2A0BB9943053ED5DFE63EE8F7933DA97F05BE3D8109BE5A6B633BA943543E6DF6153CE013D03D089491BCA685D2BDB55387BD8B54B1BD85F9F93DF992453E1317D4BCF9D096BC49B734BEA11BACBDA854F1BC233C47BE1122FDBD4DC8B9BEEFCFEABDA35BD1BD1909BEBD8F2B193E003A1CBE235668BEF72516BEF11D19BE5D7ACC3DF07C953C0799703ED436DD3D8C760CBDAE7455BD57928DBD00FD0A3E87AB283E827646BE48A3F13D7EDDB3BDC97E3F3DEE711EBEDD9BF7BD7EEAA13CD49C28BE6920033DB48A92BEA40983BE62CFA63C560FEBBD7BD253BD354955BECED34CBD8F3789BD303B86BEBB93243D650F37BEBA03C4BD81E9C6BD37CA84BD2E01503DB09CA53DADA110BE7A3E17BE0A3DD93D47EBEDBDAFC3C2BD8E868ABEA8D0EFBC7D26303E59F3B6BDE7F3EEBDDE7116BE6A177DBCBADABE3EA34BD9BD1CBE95BDB2CD5DBC0547C33C5E8F0E3E4361B63D3B7B57BBE3999EBE49B74EBEE25601BE7366EA3D518CF23CFC355ABD660C8EBEA56D48BDF925B4BD1C9FD7BDDBDF95BD81A556BEC0A219BE49CD3F3CA13207BEA9BB0FBEDFF20FBEFE39ED3D11B1F8BCF4B138BE7F1FD1BDFFA3833DB6323E3E324950BE13FD63BE8CD9B4BE612535BED0117A3E44E8C6BD5AED5BBCFAF255BDF18481BD3D41953EE4F61BBD681A233E3A402A3CDB1A903D222FA43E7000D13D16DA943E0A8E153EA81A233EC3F2BB3E1898403E192E903DE1B8C73D4C70ACBD8ECF913CD897C23D090C64BDBD78BA3DD4BD083D9E6B333D1B4D43BD7A0B5E3EED7F7BBC3E4513BE4F33993C4789F83DD450323D176B84BB8C7180BBB6F93FBED58A9C3D244F5FBE3616FFBD9B71333EDD1A38BE138105BD95B6A5BEC14959BE38322ABE0707863B4291783D8528A03DDE0717BD54A067BC8216DDBD6B64DC3D19F7193E91BE22BEA633C4BDDB7E8FBD690548BDD81D02BE722CCA3CA8C6DE3C5D7EF7BCADA757BEDBB0D83C14CB093E45C4EC3DD81547BD48CF183DDD25893E3541D03DEC1C1E3EA98AAA3E6A269C3CDF948DBD5DD2B6BD579C0DBE54AC4BBDDFBD8A3D4D531ABEFA5AA7BBE4E4813C8A5134BD4864D43D92E96CBE7FF3C7BDB71D98BD9EB7723D9D39383E2652A7BC9C7E553D65049D3D80069BBDD442FB3DCF5B3C3D82C2E53D9CA5283EE2764EBBF653AFBD478E2FBE61E639BEC2C14CBED2A5E1BCA01AD6BD7E2F21BEEA79A0BD80005CBD9F38903C2A6A38BDF6B9D0BC2C6F7BBD8C6DAE3CAC7E863D5C2103BE8B2F9E3D3D6E293E19F3143D5AAF6BBEF152113E9AAC693EC22DA33E2D903FBECA41C8BE89C798B9A3104DBD4929EBBD89F7F8BD49E5FD3D01E59D3B630622BD96E32EBDAA3A903DC17633BCB53C6F3D02F2C5BC951EB33D412FEE3C03C8BF3D09FBA6BD9446C63CADB15BBD600891BDFF2F73BD428C77BE682F0DBEADE581BEE293D4BD8462B93D082CE0BBD5FD3FBE5C3262BE41FEBBBDFCE06EBB910D4DBEE32D04BEFDDBC1BDBDB5273BEA191D3CCB04493D031E853E407E003DCFA08ABDCD2A6BBD6279423E375C513C9F3509BED8F34DBE8995E1BDE95623BE0E144DBDA1817DBEDA3327BEDD3E723DC73844BDC53A9FBC06732DBE417AB93BB1ED9ABD63252CBE6480B4BDFD072ABE7BE4E1BD6E291BBD20422C3E27FF583E9A1F6D3D58650EBD43A7D2BD22D7DA3D65FB3F3D490744BD97B843BE9E5DF0BD0FF343BEF93305BEEB4325BE87688CBE1776E9BDB5B716BBC5C809BDC8832CBC025D25BE78E609BD5D9E493C5680023D0999E73D985D98BD8D2510BDACC6E2BCCE040C3EEBA182BBB3AFF5BDEAD14E3B1D174B3D5D3C0CBD307983BD5AFCCBBDA63DA2BD927DCCBD3699BABCFA8D063DD4519DBD599A813D02ADBDBDBA3F6FBEC01134BE5272F8BDD70FF23D345FCE380F332DBECEA012BE4942B6BDD357BFBD2462B9BD26C099BDD897A4BD8BEAC4BCF07EE7BC772E9F3CD06C433E852E513ECD64963A8877EFBDAD31713E3356623EDC62B33D7FD081BE9141A3BDAC5E75BE72FD0E3EAA5F6A3EAC7335BE045783BDF46530BE01C246BD05B900BE101E9DBD0FFB89BDAD33F9BDD2A777BD676F993D065AABBD300A24BE873CC63D5241D63CFC28EDBCFD8BE63D8B34AD3C4B72713EC5870D3E814030BE5C4D833EF0E9193E37B71DBEC315A8BB66D8D6BD95BF013DE95403BE569D833C60F9CCBDDD46273DFBE7AE3DA66781BEF56E9A3C9E1C70BBEA99A9BC53181ABD9FBCB73DA81DF6BD74F88BBDCE8E9BBDF005DA3BC05AFF3DCF5101BD55958EBED4F1B43DCD00BF3D2494533DB9C5513E98E2923E5E91283D7BA72DBE59C4B53CEFC20DBDE05C9F3D952FF63C48F3F0BD791C05BEB1F50F3D1C987E3D84F2003E675BD4BDD99473BE21FF063C0F93743D783D493ED852743CA2C252BDF1F6073C7FA9C43C83201DBEECD268BEE1D932BEEE4BB2BD96D5A7BD81CDCD3C23CC4BBE2D109FBED95E86BE7F3855BE369701BE7FFAC0BC94921FBEC0BB16BEDAB8D1BDB07ED03D6D2F233DD2FF283E339062BD225D21BDA67BE33DD8656F3DE12CCA3E6D11153D2082D03C1253063E61C6D13E5BE4F03E67F8F5BBF815DF3CC159C63CA521DBBCB37F02BE9BC3DD3B47A3C33D91F6783DC2D4B2BDB113E53C6119DFBD9B5FA53D01FD5B3C4DA41A3DD0017C3E7FA7BFB736E9ACBDEEF759BD406D7EBDB438BA3D88EA183CC6902D3D8C6924BEC16F2CBC363756BDF2AE313EAD794D3D7E13CEBD4F1D4CBC0B34493D27E51EBEAE64633D3874C93D142007BE8123D63C8032A83C79FC963D7B32FC3DE2EE26BD552BFC3DD1A5903C2348C0BDED0F303DE5681A3D5246DABDD8B770BC09A7EA3CFB969EBA32920BBE209DBDBEC2560F3E0E6E92BDB63A443E525C583E329DF3BB7029B33D5ADA0F3D4A148C3C5998683C394F283D6FA872BD079A5DBCB501CCBDF4DA09BEBD3B5BBDAACC573DAD650CBE8293F9BDF42102BE78F701BE46E0DE3D74B5B93DE81770BD249D99BD784BD5BDA505593E04CE583EE2AA8C3D231982BEC8EC24BEE43B8D3C88FD2F3DEAB7DD3D0FCF26BEF76E7FBE0E79A43A92EBBBBD6D6091BDA281CFBDF9BB59BECB4A6B3D31B8633CC1F257BAAAD606BE9BA05DBE9952DA3CA06D23BD487056BEA38AFBBDFF06D03CDC4D1B3D5EB1F03D3FB3F5BD53252EBED27CC7BDC7FD503E4FEC413E2C432ABD8FCE3F3DC46560BD9E0D9ABDA009A3BDFD6CDEBD909D05BEBA419CBC5A7B55BEE40A01BECC4154BD473D09BE3B1083BEC6FC41BDFA881E3D8DA125BE8FED41BE146673BE470DC03D5384013D6F85303EA9EB1A3ECEB9883D3B2F8E3C25707EBE0B8F8D3DCED9A93D16C3153EBD00183E65B92FBE825EC1BD6ACF4D3B9EDC403D2974183D6C7BB6BDB316063D4B7C31BE96F8FFBD2FE7F53D3D6B13BCA2B2BD3B54A853BEAEA8903DFE5A96BB5F7CACBDBE23443D1F70593C39F0283D69119FBD85C4353D5AE29D3DD48681BBD964373C38626C3E3B5F103D440B12BE469CC9BB8277E23D03A2233E5F37B3BDE4024BBE6F414BBD725EC5BAE6791DBD34E820BDA964903C974A553B4F103FBEA7CD843E5662F63B936073BE28BC53BEAEA2493D9754E93D240819BEAE0193BEC0463DBEF08ED7BC0A5266BE54420EBE722A53BEB4600EBE8B64A3BD184342BEB5DF09BED60B15BEA16967BDDEA216BEF760443DCF7E6E3DACABACBC29A0833C7E7A3E3ED2395C3D27408A3C6362DCBD06C51B3B99472ABE2506E3BC806493BDBDC315BE38B24BBEF291213C6649FFBC52D4ACBD474269BD5523F93C10E116BE5D5C7ABC59F9313DA1FBCABD00A9893D2B730CBEB547A0BD2375793D04F0F23C5A95A53D49D3603EAA50FF3B1FF534BE09061BBC9B365BBC0A0F6EBD9E7A5FBEAA9B35BD8E1B0BBDAD7135BE8940883B71EE81BDDB2FC33D220C74BD14862FBD93EA03BD548B8FBC7C1E5F3C2E6F423DE35B37BD0D9609BE9D0F2FBD43D207BDB87128BD6157F03CE591763E83654EBE6E7184BBF0D51D3E639E36BEAA1340BB112B75BC8F66463E39960E3D7F2186BD3625563DD3E9803EEF941F3E0620E4BD3A518DBDD1BF03BEAAAB8ABD89F362BEEE5998BDBF11FA3C37F24FBE4AEF63BEB79CECBDF1B9DFBD7136373E9116463E01E9963D3372663E9F5A84BDE767D03CB014A63DEE6D843ECC870A3EC38202BC5799483C0678CF3D0C39703E3B3FC7BDDADD86BE409594BD58737C3D205CC3BD2CFA40BE589EEDBDC1661BBEC2C49DBD5962B7BD9593943C24DCC8BCFEB3CEBD44AD56BE8011BF3D6E421FBD5A6754BE402A48BE618734BE332AF0BD06ED253EE0AB37BEF82563BE57666A3DEEBE92BDE3DBD43B1503513E9191103F6F524C3E878807BE4F94943E29EE893E57A9A03E4FB4EE3DC0FBD43D08BDA13D793A853E785E253EB5B348BDA1DFBBBD232767BD3C77FEBD296D86BEC7C50FBE0C2C083DD3797ABD0390213CBF2B723E88624BBEB157893DC977033DDCFCA53EA70D1A3EF46890BC07754C3E16E333BE1469203E17E1EDBDBE0F2FBEAC295F3B0964E8BDD32A013DEA6C08BEF5DD56BE9A9E053CB30A96BC559E14BDABC416BE21B365BEC30AF93DD86CC03D1EBF1B3D76A293BDF4139BBEC121C03D4368043EA31CF4BD2EF150BE8D35CDBD3250AA3D6F8A95BE8734A6BEE0E30CBE698C9E3DC672683DDC7A453D70F62ABEBF592CBEB9A883BE7642B43C58B3B83D9697C63D8107B93D0A5B04BE15B18A3BDD1614BD2A7F8A3C3B1D2FBE151803BE0B57213B690303BE24E687BEFE0A69BEFC724EBD6B58473DA6A148BD73D2083E196AA73D877893BDD3D0BD3D2DDD583D58CED13DE9ED313C8CF3EFBD8EE2513C35EF093E2474EC3D3DC43ABEF54199BDEAFC133EB76A443DE9E3B3BDD61A25BEF00F11BD99BAE03B22B051BE5E2FADBD7E61C1BC2080BFBD68D18DBD05280FBE7210D6BD284AEE3DD423AD3DC256733C741408BEB78428BD09B7093EC80DD93CA9252B3C8594F93D7248F93D03AE8ABDFC53463DE463EA3DDBCE963D16AD493D563AAABD397FEABD56F450BCBAF7F9BDBE55B4BD43E3293EF72801BE47201D3ECC91D0BD41E091BEE4F049BE3A9E143E5E92EFBD405522BE3F7A71BE3B4612BECDD5A83D422DCB3B12E9FD3C923056BEE3BA47BE9A6315BD758F21BE2C414ABED6AAA4BE430373BE130DFA3CF8DF9FBE4A2AAABE1561B6BE85E0953DAFCE503EA3272CBE74817DBE5AC45DBE63F0943ED51FCC3E1EFAF8BD8A14333DF4B1A73E1A33B93E181C81BEA9DBDA3D1A2AE0BCAC7149BEE21C4EBE0A4882BE442AC73DDAAF6C3E2C97933D04BAFD3D5CA1F33D3343213E770BF73CB5A4B4BDDADA2E3ECC7E223E938601BEBCDC54BE28644DBDFE49D43D0E3110BED74F153EE3BCA1BDAD26BEBD60D3FDBC36E8B1BDA49A593EDB0F763D77EAA23D144C46BDD59FECBCF4111EBD9585CABC9D02ECBDDE42233DBED902BDAEF773BEAFA40DBDF416C7BD26E0883D48248BBC872DCE3D89F2D6BD3B250EBE8B8411BEF9BB8DBEF8A3A03E46592BBD8EAE5ABE6ABA28BD11E304BE118E76BD8D14453D0B44B63DB7CDDA3DB9856E3EE72F27BEC3166CBE9F1A1EBE619D9CBD614399BBB001623D893C99BDDE5CCDBC91472D3E0919AB3D308D363E3AF65B3D8503F83C660E133E1C4BCB3D4956873E1BA1093D35470A3C64568E3E04145E3E5E0F9ABD45F2093E4CC9A23DF86C573ED24C613E3DF8C8BDFE3A81BDF4BB22BC810C39BEB89548BEBC243CBE5770E0BD42ED9B3C0DF6113EEF432A3E678E13BD4A94D1BD494B73BD3EBD35BDD202BD3B8A7600BDBC190EBEBE4656BEEF468BBE141D3ABECD06C5BD2B332A3D5D778E394D09B9BDB9C6B6BDC2A6AD3DE402B6BC983EC6BDFD3AF03B47C52F3D349210BED38A37BED7E941BE4DFFA0BD9373F83D1585B13CC3E79CBDDE478FBE3658C5BD8BC7793EE2303B3E45CE99BCF52280BE47CD6EBC54BFF03DE1DB96BE800293BC3C8B41BD7A1928BE447B88BD4786953D7F863EBDF834DFBD921C823BEFA7AE3DE37E2C3D0A21403E2FBF4CBE611118BE3851C9BC94C857BED644B63D5C6A5F3D21B5E3BD53EB343EF8889ABD49E1453DB4DE5BBEEA2BCABDCBD13D3E01033DBEC935A9BDD1ABDABCCBCFDCBDE4FBCEBD973E593D26C721BE24ED82BDFCF4C93D49F3F43CD922C73A4A75853E1326663DCB1B6EBEBA719E3B25FF32BE9FF6493E326A8B3D9A69853A0B547F3DF34AFDBD30A113BE24B018BED76A3CBE18B6153ED5653FBE5E8F32BE0761873BE8B70EBE8C335EBD005DBB3CC2C65FBD8F89343C793BFFBD28BF25BD8B165A3E2D49C93D60F0AB3DCD0F80BD43A7D7BDD9FD3A3A14E5943E5969BF3DCFFF3CBD1146AC3C5EC0A33D3B8DBF3E092B563D32642CBE2481A73DA9EFE83DCDA41C3E71DB703E93933F3E6C900C3E433DEDBD32ED01BE54EF5DBE174A27BE7A806ABE13CF43BE763DC8BD92152ABD93E652BD7B18EEBC6706CABD7A88B9BD0EBF4ABEC79687BDB30AECBD98C1A73DE1D81A3D26D579BE91F51FBEB4D411BD0FEF87BE4819D5BC2B2F083D83CF15BE11B01F3D6EDDA2BE45B9103E79CD5E3E8E7DBFBCDF794ABE1A0705BE6A76303E67E9313EDFA8DABC17B574BDA8711A3E6D5A353EC84B67BD132847BE6C8BE6BD1DE7D03D2057833DBE71B73C185647BDF49F89BDDF3F24BE3802993E3E73C03DD78754BD640A52BE0D0B8ABDA884C03E3986913D7C50B8BDF0B8B5BD1638E13DDB469F3E781B23BD19F430BE91A9B4BD2647A83DC24A353EFD4292BC9AFD85BE8B5E26BD39310E3E5AE680BD118B6FBE12322BBE201D86BD4CADA9BD991D533C1E68FB3CA72738BE48007F3CC5364D3D79C4DDBDC5B73ABEAB3C4ABD0DA4F43DBBE27ABE3A8B35BEA7D183BE390602BE9D11E03DD76449BEDB043BBE48E5FABD2812FABDDBE443BEABA09CBEA86EBBBD76556CBD2373053C0F2CF4BD91CFA8BEF876413DF562813DBF7E513D04BA09BEE740AABDD23CF73D42D3D03DC2AE74BE28E2C8BDED4001BD3E8A9B3E488AA33D278375BEA74E36BEB22691BCF478813E91387D3A23528FBEF282ABBDA696963EAB8E723C8CABD9BDD52A73BEAF3985BCAB16B2BE9AC6D5BEF7730CBD1F1FF6BCC96A25BE370B90BEAF0317BEF6947A3DBA88EC3BDABD59BE321058BDE82E073DA1F0503D1859B6BD59BA9CBDD18712BE104B373D2E5A223D39B503BE307B9EBCD656B4BD8533053D2EA3E5BD9383613C8F363DBE591C6ABEF61EA1BE306BA2BE5829C9BD95DD443CE153B0BDB6D97FBE2B37D3BCE4BF21BE4B12273CF49A803C953F323D0DAA6BBC4FC0D33C8E950F3E1C0D32BEA2580FBC1265E4BD7BBEE83DD8F88BBD833B81BE788F86BD5419E5BD10DECFBDE19A12BEACB1F6BDF39A69BE103A77BEA19DB3BD63AB09BE34B6C23B6B8E9DBE1C545ABCB5D5053DF4A2C1BC7A25C73DF7DE51BEC03D2F3D352D123E850EBC3D62433FBEAA4E163EB4872A3E61BD063E1CB9213C75AA25BEB962BA3EE983503E3A14C33D7E3C64BB0E3116BE01BAF63B2615853D8166743DD2658C3D6BF19DBE779F7EBEF2DA6E3CD5F9073EE6EF493ECE5FDDBE431A8E3DEC6E85BDB27110BEC7F8C0BD2E12D1BDA749C2BB028DE5BAC2EC55BE3FC2C2BD7B9255BE68F2523D9E1C10BE92BD5F3C1841E9BD"> : tensor<16x8x5x5xf32>} : () -> memref<16x8x5x5xf32> - %c0_19 = constant 0 : index - %c1_20 = constant 1 : index - %c1_21 = constant 1 : index - loop.for %arg1 = %c0_19 to %c1_20 step %c1_21 { - %c0_40 = constant 0 : index - %c8 = constant 8 : index - %c1_41 = constant 1 : index - loop.for %arg2 = %c0_40 to %c8 step %c1_41 { - %c0_42 = constant 0 : index - %c18 = constant 18 : index - %c1_43 = constant 1 : index - loop.for %arg3 = %c0_42 to %c18 step %c1_43 { - %c0_44 = constant 0 : index - %c18_45 = constant 18 : index - %c1_46 = constant 1 : index - loop.for %arg4 = %c0_44 to %c18_45 step %c1_46 { - store %cst_1, %6[%arg1, %arg2, %arg3, %arg4] : memref<1x8x18x18xf32> - } - } - } - } - %c0_22 = constant 0 : index - %c1_23 = constant 1 : index - %c1_24 = constant 1 : index - loop.for %arg1 = %c0_22 to %c1_23 step %c1_24 { - %c0_40 = constant 0 : index - %c8 = constant 8 : index - %c1_41 = constant 1 : index - loop.for %arg2 = %c0_40 to %c8 step %c1_41 { - %c0_42 = constant 0 : index - %c14 = constant 14 : index - %c1_43 = constant 1 : index - loop.for %arg3 = %c0_42 to %c14 step %c1_43 { - %c0_44 = constant 0 : index - %c14_45 = constant 14 : index - %c1_46 = constant 1 : index - loop.for %arg4 = %c0_44 to %c14_45 step %c1_46 { - %21 = addi %arg3, %c2 : index - %22 = addi %arg4, %c2 : index - %23 = load %7[%arg1, %arg2, %arg3, %arg4] : memref<1x8x14x14xf32> - store %23, %6[%arg1, %arg2, %21, %22] : memref<1x8x18x18xf32> - } - } - } - } - %c0_25 = constant 0 : index - %c1_26 = constant 1 : index - %c1_27 = constant 1 : index - loop.for %arg1 = %c0_25 to %c1_26 step %c1_27 { - %c0_40 = constant 0 : index - %c16 = constant 16 : index - %c1_41 = constant 1 : index - loop.for %arg2 = %c0_40 to %c16 step %c1_41 { - %c0_42 = constant 0 : index - %c14 = constant 14 : index - %c1_43 = constant 1 : index - loop.for %arg3 = %c0_42 to %c14 step %c1_43 { - %c0_44 = constant 0 : index - %c14_45 = constant 14 : index - %c1_46 = constant 1 : index - loop.for %arg4 = %c0_44 to %c14_45 step %c1_46 { - store %cst_1, %5[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - %c0_47 = constant 0 : index - %c8 = constant 8 : index - %c1_48 = constant 1 : index - loop.for %arg5 = %c0_47 to %c8 step %c1_48 { - %c0_49 = constant 0 : index - %c5 = constant 5 : index - %c1_50 = constant 1 : index - loop.for %arg6 = %c0_49 to %c5 step %c1_50 { - %c0_51 = constant 0 : index - %c5_52 = constant 5 : index - %c1_53 = constant 1 : index - loop.for %arg7 = %c0_51 to %c5_52 step %c1_53 { - %21 = addi %arg3, %arg6 : index - %22 = addi %arg4, %arg7 : index - %23 = load %6[%arg1, %arg5, %21, %22] : memref<1x8x18x18xf32> - %24 = load %17[%arg2, %arg5, %arg6, %arg7] : memref<16x8x5x5xf32> - %25 = load %5[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - %26 = mulf %23, %24 : f32 - %27 = addf %25, %26 : f32 - store %27, %5[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - } - } - } - } - } - } - } - %18 = "krnl.global"() {name = "constant_5", shape = [16, 1, 1], value = dense<[[[-0.0822488219]], [[-0.108868778]], [[-0.141039595]], [[-0.204869166]], [[-0.17913565]], [[-0.215438381]], [[-0.133805066]], [[-0.195724562]], [[-0.268250644]], [[-0.258212209]], [[-0.0761560649]], [[0.0132841459]], [[-0.00444464432]], [[-0.414740831]], [[-0.17879115]], [[-0.0386558883]]]> : tensor<16x1x1xf32>} : () -> memref<16x1x1xf32> - %c0_28 = constant 0 : index - %c1_29 = constant 1 : index - %c1_30 = constant 1 : index - loop.for %arg1 = %c0_28 to %c1_29 step %c1_30 { - %c0_40 = constant 0 : index - %c16 = constant 16 : index - %c1_41 = constant 1 : index - loop.for %arg2 = %c0_40 to %c16 step %c1_41 { - %c0_42 = constant 0 : index - %c14 = constant 14 : index - %c1_43 = constant 1 : index - loop.for %arg3 = %c0_42 to %c14 step %c1_43 { - %c0_44 = constant 0 : index - %c14_45 = constant 14 : index - %c1_46 = constant 1 : index - loop.for %arg4 = %c0_44 to %c14_45 step %c1_46 { - %21 = load %5[%c0, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - %22 = load %18[%arg2, %c0, %c0] : memref<16x1x1xf32> - %23 = addf %21, %22 : f32 - store %23, %4[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - } - } - } - } - %c0_31 = constant 0 : index - %c1_32 = constant 1 : index - %c1_33 = constant 1 : index - loop.for %arg1 = %c0_31 to %c1_32 step %c1_33 { - %c0_40 = constant 0 : index - %c16 = constant 16 : index - %c1_41 = constant 1 : index - loop.for %arg2 = %c0_40 to %c16 step %c1_41 { - %c0_42 = constant 0 : index - %c14 = constant 14 : index - %c1_43 = constant 1 : index - loop.for %arg3 = %c0_42 to %c14 step %c1_43 { - %c0_44 = constant 0 : index - %c14_45 = constant 14 : index - %c1_46 = constant 1 : index - loop.for %arg4 = %c0_44 to %c14_45 step %c1_46 { - %21 = load %4[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - %22 = cmpf "olt", %21, %cst_1 : f32 - %23 = select %22, %cst_1, %21 : f32 - store %23, %3[%arg1, %arg2, %arg3, %arg4] : memref<1x16x14x14xf32> - } - } - } - } - %c0_34 = constant 0 : index - %c1_35 = constant 1 : index - %c1_36 = constant 1 : index - loop.for %arg1 = %c0_34 to %c1_35 step %c1_36 { - %c0_40 = constant 0 : index - %c16 = constant 16 : index - %c1_41 = constant 1 : index - loop.for %arg2 = %c0_40 to %c16 step %c1_41 { - %c0_42 = constant 0 : index - %c4 = constant 4 : index - %c1_43 = constant 1 : index - loop.for %arg3 = %c0_42 to %c4 step %c1_43 { - %c0_44 = constant 0 : index - %c4_45 = constant 4 : index - %c1_46 = constant 1 : index - loop.for %arg4 = %c0_44 to %c4_45 step %c1_46 { - store %cst, %2[%arg1, %arg2, %arg3, %arg4] : memref<1x16x4x4xf32> - %c0_47 = constant 0 : index - %c3_48 = constant 3 : index - %c1_49 = constant 1 : index - loop.for %arg5 = %c0_47 to %c3_48 step %c1_49 { - %c0_50 = constant 0 : index - %c3_51 = constant 3 : index - %c1_52 = constant 1 : index - loop.for %arg6 = %c0_50 to %c3_51 step %c1_52 { - %21 = muli %arg3, %c3 : index - %22 = addi %21, %arg5 : index - %23 = muli %arg4, %c3 : index - %24 = addi %23, %arg6 : index - %25 = load %3[%arg1, %arg2, %22, %24] : memref<1x16x14x14xf32> - %26 = load %2[%arg1, %arg2, %arg3, %arg4] : memref<1x16x4x4xf32> - %27 = cmpf "ogt", %26, %25 : f32 - %28 = select %27, %26, %25 : f32 - store %28, %2[%arg1, %arg2, %arg3, %arg4] : memref<1x16x4x4xf32> - } - } - } - } - } - } - %19 = "krnl.global"() {name = "constant_6", shape = [2], value = dense<[1, 256]> : tensor<2xi64>} : () -> memref<2xi64> - "krnl.memcpy"(%1, %2, %c1024_i64) : (memref<1x256xf32>, memref<1x16x4x4xf32>, i64) -> () - %20 = "krnl.global"() {name = "constant_7", shape = [1, 10], value = dense<[[-0.0448560268, 0.00779166119, 0.0681008175, 0.0299937408, -0.126409635, 0.14021875, -0.0552849025, -0.0493838154, 0.0843220502, -0.0545404144]]> : tensor<1x10xf32>} : () -> memref<1x10xf32> - %c0_37 = constant 0 : index - %c1_38 = constant 1 : index - %c1_39 = constant 1 : index - loop.for %arg1 = %c0_37 to %c1_38 step %c1_39 { - %c0_40 = constant 0 : index - %c10 = constant 10 : index - %c1_41 = constant 1 : index - loop.for %arg2 = %c0_40 to %c10 step %c1_41 { - store %cst_1, %0[%arg1, %arg2] : memref<1x10xf32> - %c0_42 = constant 0 : index - %c256 = constant 256 : index - %c1_43 = constant 1 : index - loop.for %arg3 = %c0_42 to %c256 step %c1_43 { - %26 = load %1[%arg1, %arg3] : memref<1x256xf32> - %27 = load %12[%arg3, %arg2] : memref<256x10xf32> - %28 = load %0[%arg1, %arg2] : memref<1x10xf32> - %29 = mulf %26, %27 : f32 - %30 = addf %28, %29 : f32 - store %30, %0[%arg1, %arg2] : memref<1x10xf32> - } - %21 = load %0[%arg1, %arg2] : memref<1x10xf32> - %22 = mulf %cst_0, %21 : f32 - %23 = load %20[%c0, %arg2] : memref<1x10xf32> - %24 = mulf %cst_0, %23 : f32 - %25 = addf %22, %24 : f32 - store %25, %0[%arg1, %arg2] : memref<1x10xf32> - } - } - dealloc %12 : memref<256x10xf32> - dealloc %11 : memref<1x1x32x32xf32> - dealloc %10 : memref<1x8x28x28xf32> - dealloc %9 : memref<1x8x28x28xf32> - dealloc %8 : memref<1x8x28x28xf32> - dealloc %7 : memref<1x8x14x14xf32> - dealloc %6 : memref<1x8x18x18xf32> - dealloc %5 : memref<1x16x14x14xf32> - dealloc %4 : memref<1x16x14x14xf32> - dealloc %3 : memref<1x16x14x14xf32> - dealloc %2 : memref<1x16x4x4xf32> - dealloc %1 : memref<1x256xf32> - return %0 : memref<1x10xf32> - } - "krnl.entry_point"() {func = @main_graph, numInputs = 1 : i32, numOutputs = 1 : i32} : () -> () -} diff --git a/models/mnist/mnist_onnxir.gv b/models/mnist/mnist_onnxir.gv deleted file mode 100644 index f9882da..0000000 --- a/models/mnist/mnist_onnxir.gv +++ /dev/null @@ -1,50 +0,0 @@ -digraph "main_graph" { - label="main_graph"; - - Node0x5635d540ce40 [shape=record,label="{std.constant\nloc(\"mnist_onnxir.mlir\":5:12)\nnone\n\nvalue: unit}"]; - Node0x5635d540ce40 -> Node0x5635d544bd40; - Node0x5635d540ce40 -> Node0x5635d5447800; - Node0x5635d5447170 [shape=record,label="{onnx.Constant\nloc(\"mnist_onnxir.mlir\":6:10)\ntensor\<16x4x4x10xf32\>\n\nvalue: [[[[...]]]] : tensor\<16x4x4x10xf32\>}"]; - Node0x5635d5447170 -> Node0x5635d5447390; - Node0x5635d54472c0 [shape=record,label="{onnx.Constant\nloc(\"mnist_onnxir.mlir\":7:10)\ntensor\<2xi64\>\n\nvalue: dense\<[256, 10]\> : tensor\<2xi64\>}"]; - Node0x5635d54472c0 -> Node0x5635d5447390; - Node0x5635d5447390 [shape=record,label="{onnx.Reshape\nloc(\"mnist_onnxir.mlir\":8:10)\ntensor\<256x10xf32\>\n}"]; - Node0x5635d5447390 -> Node0x5635d544df20; - Node0x5635d54474a0 [shape=record,label="{onnx.Constant\nloc(\"mnist_onnxir.mlir\":9:10)\ntensor\<8x1x5x5xf32\>\n\nvalue: [[[[...]]]] : tensor\<8x1x5x5xf32\>}"]; - Node0x5635d54474a0 -> Node0x5635d5447800; - Node0x5635d5447570 [shape=record,label="{onnx.PadConstantValuePad\nloc(\"mnist_onnxir.mlir\":10:10)\ntensor\<1x1x32x32xf32\>\n\nconstant_value: 0.000000e+00 : f32\nmode: \"constant\"\npads: [0, 0, 2, 2, 0, 0, 2, 2]}"]; - Node0x5635d5447570 -> Node0x5635d5447800; - Node0x5635d5447800 [shape=record,label="{onnx.Conv\nloc(\"mnist_onnxir.mlir\":11:10)\ntensor\<1x8x28x28xf32\>\n\nauto_pad: \"NOTSET\"\ndilations: [1, 1]\ngroup: 1 : i64\nkernel_shape: [5, 5]\npads: [0, 0, 0, 0]\nstrides: [1, 1]}"]; - Node0x5635d5447800 -> Node0x5635d5447c40; - Node0x5635d5447b70 [shape=record,label="{onnx.Constant\nloc(\"mnist_onnxir.mlir\":12:10)\ntensor\<8x1x1xf32\>\n\nvalue: dense\<[[[-0.161539719]], [[-0.433835655]], [[0.091641359]], [[-0.0168522168]], [[-0.0650264397]], [[-0.131737873]], [[0.0204175506]], [[-0.121110231]]]\> : tensor\<8x1x1xf32\>}"]; - Node0x5635d5447b70 -> Node0x5635d5447c40; - Node0x5635d5447c40 [shape=record,label="{onnx.Add\nloc(\"mnist_onnxir.mlir\":13:10)\ntensor\<1x8x28x28xf32\>\n}"]; - Node0x5635d5447c40 -> Node0x5635d5443520; - Node0x5635d5443520 [shape=record,label="{onnx.Relu\nloc(\"mnist_onnxir.mlir\":14:10)\ntensor\<1x8x28x28xf32\>\n}"]; - Node0x5635d5443520 -> Node0x5635d5447e40; - Node0x5635d5447e40 [shape=record,label="{onnx.MaxPoolSingleOut\nloc(\"mnist_onnxir.mlir\":15:10)\ntensor\<1x8x14x14xf32\>\n\nauto_pad: \"NOTSET\"\ndilations: [1, 1]\nkernel_shape: [2, 2]\npads: [0, 0, 0, 0]\nstrides: [2, 2]}"]; - Node0x5635d5447e40 -> Node0x5635d5447db0; - Node0x5635d544b950 [shape=record,label="{onnx.Constant\nloc(\"mnist_onnxir.mlir\":16:11)\ntensor\<16x8x5x5xf32\>\n\nvalue: [[[[...]]]] : tensor\<16x8x5x5xf32\>}"]; - Node0x5635d544b950 -> Node0x5635d544bd40; - Node0x5635d5447db0 [shape=record,label="{onnx.PadConstantValuePad\nloc(\"mnist_onnxir.mlir\":17:11)\ntensor\<1x8x18x18xf32\>\n\nconstant_value: 0.000000e+00 : f32\nmode: \"constant\"\npads: [0, 0, 2, 2, 0, 0, 2, 2]}"]; - Node0x5635d5447db0 -> Node0x5635d544bd40; - Node0x5635d544bd40 [shape=record,label="{onnx.Conv\nloc(\"mnist_onnxir.mlir\":18:11)\ntensor\<1x16x14x14xf32\>\n\nauto_pad: \"NOTSET\"\ndilations: [1, 1]\ngroup: 1 : i64\nkernel_shape: [5, 5]\npads: [0, 0, 0, 0]\nstrides: [1, 1]}"]; - Node0x5635d544bd40 -> Node0x5635d544c8c0; - Node0x5635d544c020 [shape=record,label="{onnx.Constant\nloc(\"mnist_onnxir.mlir\":19:11)\ntensor\<16x1x1xf32\>\n\nvalue: dense\<[[[-0.0822488219]], [[-0.108868778]], [[-0.141039595]], [[-0.204869166]], [[-0.17913565]], [[-0.215438381]], [[-0.133805066]], [[-0.195724562]], [[-0.268250644]], [[-0.258212209]], [[-0.0761560649]], [[0.0132841459]], [[-0.00444464432]], [[-0.414740831]], [[-0.17879115]], [[-0.0386558883]]]\> : tensor\<16x1x1xf32\>}"]; - Node0x5635d544c020 -> Node0x5635d544c8c0; - Node0x5635d544c8c0 [shape=record,label="{onnx.Add\nloc(\"mnist_onnxir.mlir\":20:11)\ntensor\<1x16x14x14xf32\>\n}"]; - Node0x5635d544c8c0 -> Node0x5635d5444820; - Node0x5635d5444820 [shape=record,label="{onnx.Relu\nloc(\"mnist_onnxir.mlir\":21:11)\ntensor\<1x16x14x14xf32\>\n}"]; - Node0x5635d5444820 -> Node0x5635d544cac0; - Node0x5635d544cac0 [shape=record,label="{onnx.MaxPoolSingleOut\nloc(\"mnist_onnxir.mlir\":22:11)\ntensor\<1x16x4x4xf32\>\n\nauto_pad: \"NOTSET\"\ndilations: [1, 1]\nkernel_shape: [3, 3]\npads: [0, 0, 0, 0]\nstrides: [3, 3]}"]; - Node0x5635d544cac0 -> Node0x5635d544dc90; - Node0x5635d544dbc0 [shape=record,label="{onnx.Constant\nloc(\"mnist_onnxir.mlir\":23:11)\ntensor\<2xi64\>\n\nvalue: dense\<[1, 256]\> : tensor\<2xi64\>}"]; - Node0x5635d544dbc0 -> Node0x5635d544dc90; - Node0x5635d544dc90 [shape=record,label="{onnx.Reshape\nloc(\"mnist_onnxir.mlir\":24:11)\ntensor\<1x256xf32\>\n}"]; - Node0x5635d544dc90 -> Node0x5635d544df20; - Node0x5635d544de50 [shape=record,label="{onnx.Constant\nloc(\"mnist_onnxir.mlir\":25:11)\ntensor\<1x10xf32\>\n\nvalue: dense\<[[-0.0448560268, 0.00779166119, 0.0681008175, 0.0299937408, -0.126409635, 0.14021875, -0.0552849025, -0.0493838154, 0.0843220502, -0.0545404144]]\> : tensor\<1x10xf32\>}"]; - Node0x5635d544de50 -> Node0x5635d544df20; - Node0x5635d544df20 [shape=record,label="{onnx.Gemm\nloc(\"mnist_onnxir.mlir\":26:11)\ntensor\<1x10xf32\>\n\nalpha: 1.000000e+00 : f32\nbeta: 1.000000e+00 : f32\ntransA: 0 : i64\ntransB: 0 : i64}"]; - Node0x5635d544df20 -> Node0x5635d544e030; - Node0x5635d544e030 [shape=record,label="{std.return\nloc(\"mnist_onnxir.mlir\":27:5)\n\n}"]; -} diff --git a/models/mnist/mnist_onnxir_cfg.pdf b/models/mnist/mnist_onnxir_cfg.pdf deleted file mode 100644 index ca93d04..0000000 Binary files a/models/mnist/mnist_onnxir_cfg.pdf and /dev/null differ diff --git a/models/README.md b/samples/README.md similarity index 97% rename from models/README.md rename to samples/README.md index 7398d97..9b83bba 100644 --- a/models/README.md +++ b/samples/README.md @@ -1,4 +1,4 @@ -# Models (models) +# Samples (samples) ## Overview Here is a collection of algorithms that we experimented with in the course of the project. @@ -8,5 +8,3 @@ This is a simple neural network used for MNIST digit classification. We successf ### Benchmarks (benchmarks) Here are some benchmarks (3-mm, covariance, correlation, Alexnet) in the ICCAD paper we have attempted to replicate in MLIR without success. Actually, the Alexnet.onnx (Alexnet ONNX model) is too big so it is not here but one can just look it up online. In addition, we also include the first conv2d and maxpool2d operations from the toy model which obviously can be converted into MLIR currently. - - diff --git a/models/benchmarks/benchmarks.ipynb b/samples/benchmarks/benchmarks.ipynb similarity index 100% rename from models/benchmarks/benchmarks.ipynb rename to samples/benchmarks/benchmarks.ipynb diff --git a/models/benchmarks/conv2d.mlir b/samples/benchmarks/conv2d.mlir similarity index 100% rename from models/benchmarks/conv2d.mlir rename to samples/benchmarks/conv2d.mlir diff --git a/models/benchmarks/conv2d.onnx b/samples/benchmarks/conv2d.onnx similarity index 100% rename from models/benchmarks/conv2d.onnx rename to samples/benchmarks/conv2d.onnx diff --git a/models/benchmarks/correlation.onnx b/samples/benchmarks/correlation.onnx similarity index 100% rename from models/benchmarks/correlation.onnx rename to samples/benchmarks/correlation.onnx diff --git a/models/benchmarks/covariance.onnx b/samples/benchmarks/covariance.onnx similarity index 100% rename from models/benchmarks/covariance.onnx rename to samples/benchmarks/covariance.onnx diff --git a/models/benchmarks/maxpool2d.mlir b/samples/benchmarks/maxpool2d.mlir similarity index 100% rename from models/benchmarks/maxpool2d.mlir rename to samples/benchmarks/maxpool2d.mlir diff --git a/models/benchmarks/maxpool2d.onnx b/samples/benchmarks/maxpool2d.onnx similarity index 100% rename from models/benchmarks/maxpool2d.onnx rename to samples/benchmarks/maxpool2d.onnx diff --git a/models/benchmarks/threemm.onnx b/samples/benchmarks/threemm.onnx similarity index 100% rename from models/benchmarks/threemm.onnx rename to samples/benchmarks/threemm.onnx diff --git a/models/mnist/mnist.onnx b/samples/mnist/mnist.onnx similarity index 100% rename from models/mnist/mnist.onnx rename to samples/mnist/mnist.onnx diff --git a/models/mnist/mnist_llvmir.mlir b/samples/mnist/mnist_llvmir.mlir similarity index 100% rename from models/mnist/mnist_llvmir.mlir rename to samples/mnist/mnist_llvmir.mlir diff --git a/models/mnist/mnist_mlir.mlir b/samples/mnist/mnist_mlir.mlir similarity index 100% rename from models/mnist/mnist_mlir.mlir rename to samples/mnist/mnist_mlir.mlir diff --git a/models/mnist/mnist_onnxir.mlir b/samples/mnist/mnist_onnxir.mlir similarity index 100% rename from models/mnist/mnist_onnxir.mlir rename to samples/mnist/mnist_onnxir.mlir diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 30df769..86cf079 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -5,18 +5,18 @@ configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py ) -set(HLSLD_TEST_DEPENDS +set(SCALEHLS_TEST_DEPENDS FileCheck count not - hlsld-translate + scalehls-translate ) -add_lit_testsuite(check-hlsld "Running the hlsld regression tests" +add_lit_testsuite(check-scalehls "Running the scalehls regression tests" ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS ${HLSLD_TEST_DEPENDS} + DEPENDS ${SCALEHLS_TEST_DEPENDS} ) -set_target_properties(check-hlsld PROPERTIES FOLDER "Tests") +set_target_properties(check-scalehls PROPERTIES FOLDER "Tests") -add_lit_testsuites(HLSLD +add_lit_testsuites(SCALEHLS ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS ${HLSLD_TEST_DEPENDS} + DEPENDS ${SCALEHLS_TEST_DEPENDS} ) diff --git a/test/EmitHLSCpp/test_affine.mlir b/test/EmitHLSCpp/test_affine.mlir index 7c84d61..6574f11 100644 --- a/test/EmitHLSCpp/test_affine.mlir +++ b/test/EmitHLSCpp/test_affine.mlir @@ -1,4 +1,4 @@ -// RUN: hlsld-translate -emit-hlscpp %s | FileCheck %s +// RUN: scalehls-translate -emit-hlscpp %s | FileCheck %s #map0 = affine_map<(d0)[s0] -> (d0 + s0, d0, d0 - s0)> #map1 = affine_map<(d0) -> (d0 * 3)> diff --git a/test/EmitHLSCpp/test_standard.mlir b/test/EmitHLSCpp/test_standard.mlir index 8498b4d..48da441 100644 --- a/test/EmitHLSCpp/test_standard.mlir +++ b/test/EmitHLSCpp/test_standard.mlir @@ -1,4 +1,4 @@ -// RUN: hlsld-translate -emit-hlscpp %s | FileCheck %s +// RUN: scalehls-translate -emit-hlscpp %s | FileCheck %s // CHECK: void test_standard( // CHECK-NEXT: ap_int<32> [[VAL_1:.*]], diff --git a/test/lit.cfg.py b/test/lit.cfg.py index 7b7fece..a8c3931 100644 --- a/test/lit.cfg.py +++ b/test/lit.cfg.py @@ -16,7 +16,7 @@ from lit.llvm.subst import FindTool # Configuration file for the 'lit' test runner. # name: The name of this test suite. -config.name = 'HLSLD' +config.name = 'SCALEHLS' config.test_format = lit.formats.ShTest(not llvm_config.use_lit_shell) @@ -27,7 +27,7 @@ config.suffixes = ['.mlir'] config.test_source_root = os.path.dirname(__file__) # test_exec_root: The root path where tests should be run. -config.test_exec_root = os.path.join(config.hlsld_obj_root, 'test') +config.test_exec_root = os.path.join(config.scalehls_obj_root, 'test') config.substitutions.append(('%PATH%', config.environment['PATH'])) config.substitutions.append(('%shlibext', config.llvm_shlib_ext)) @@ -46,14 +46,14 @@ config.excludes = ['Inputs', 'CMakeLists.txt', 'README.txt', 'LICENSE.txt'] config.test_source_root = os.path.dirname(__file__) # test_exec_root: The root path where tests should be run. -config.test_exec_root = os.path.join(config.hlsld_obj_root, 'test') +config.test_exec_root = os.path.join(config.scalehls_obj_root, 'test') # Tweak the PATH to include the tools dir. llvm_config.with_environment('PATH', config.llvm_tools_dir, append_path=True) -tool_dirs = [config.hlsld_tools_dir, config.mlir_tools_dir, config.llvm_tools_dir] +tool_dirs = [config.scalehls_tools_dir, config.mlir_tools_dir, config.llvm_tools_dir] tools = [ - 'hlsld-translate' + 'scalehls-translate' ] llvm_config.add_tool_substitutions(tools, tool_dirs) diff --git a/test/lit.site.cfg.py.in b/test/lit.site.cfg.py.in index f609369..27df2fa 100644 --- a/test/lit.site.cfg.py.in +++ b/test/lit.site.cfg.py.in @@ -31,9 +31,9 @@ config.host_arch = "@HOST_ARCH@" config.mlir_src_root = "@MLIR_SOURCE_DIR@" config.mlir_obj_root = "@MLIR_BINARY_DIR@" config.mlir_tools_dir = "@MLIR_TOOLS_DIR@" -config.hlsld_src_root = "@HLSLD_SOURCE_DIR@" -config.hlsld_obj_root = "@HLSLD_BINARY_DIR@" -config.hlsld_tools_dir = "@HLSLD_TOOLS_DIR@" +config.scalehls_src_root = "@SCALEHLS_SOURCE_DIR@" +config.scalehls_obj_root = "@SCALEHLS_BINARY_DIR@" +config.scalehls_tools_dir = "@SCALEHLS_TOOLS_DIR@" # Support substitution of the tools_dir with user parameters. This is # used when we can't determine the tool dir at configuration time. @@ -49,4 +49,4 @@ import lit.llvm lit.llvm.initialize(lit_config, config) # Let the main config do the real work. -lit_config.load_config(config, "@HLSLD_SOURCE_DIR@/test/lit.cfg.py") +lit_config.load_config(config, "@SCALEHLS_SOURCE_DIR@/test/lit.cfg.py") diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 18a5777..00db196 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -1 +1,2 @@ -add_subdirectory(hlsld-translate) +add_subdirectory(scalehls-opt) +add_subdirectory(scalehls-translate) diff --git a/tools/scalehls-opt/CMakeLists.txt b/tools/scalehls-opt/CMakeLists.txt new file mode 100644 index 0000000..e69de29 diff --git a/tools/scalehls-opt/scalehls-opt.cpp b/tools/scalehls-opt/scalehls-opt.cpp new file mode 100644 index 0000000..e69de29 diff --git a/tools/hlsld-translate/CMakeLists.txt b/tools/scalehls-translate/CMakeLists.txt similarity index 55% rename from tools/hlsld-translate/CMakeLists.txt rename to tools/scalehls-translate/CMakeLists.txt index 14ee6e5..8ec8465 100644 --- a/tools/hlsld-translate/CMakeLists.txt +++ b/tools/scalehls-translate/CMakeLists.txt @@ -14,12 +14,12 @@ set(LIBS MLIRTranslation MLIRSupport - HLSLDEmitHLSCpp + SCALEHLSEmitHLSCpp ) -add_llvm_executable(hlsld-translate hlsld-translate.cpp) +add_llvm_executable(scalehls-translate scalehls-translate.cpp) -llvm_update_compile_flags(hlsld-translate) -target_link_libraries(hlsld-translate PRIVATE ${LIBS}) +llvm_update_compile_flags(scalehls-translate) +target_link_libraries(scalehls-translate PRIVATE ${LIBS}) -mlir_check_link_libraries(hlsld-translate) +mlir_check_link_libraries(scalehls-translate) diff --git a/tools/hlsld-translate/hlsld-translate.cpp b/tools/scalehls-translate/scalehls-translate.cpp similarity index 98% rename from tools/hlsld-translate/hlsld-translate.cpp rename to tools/scalehls-translate/scalehls-translate.cpp index 1996067..74fa652 100644 --- a/tools/hlsld-translate/hlsld-translate.cpp +++ b/tools/scalehls-translate/scalehls-translate.cpp @@ -42,7 +42,7 @@ int main(int argc, char **argv) { mlir::registerAllDialects(); mlir::registerAllTranslations(); - hlsld::registerHLSCppEmitterTranslation(); + scalehls::registerHLSCppEmitterTranslation(); llvm::InitLLVM y(argc, argv);