From 685d89c6c34e84a866437d43f2f9c42f0b227cb9 Mon Sep 17 00:00:00 2001
From: Elizabeth <hashim.sharif91@gmail.com>
Date: Wed, 30 Oct 2019 00:45:45 -0500
Subject: [PATCH] Adding Promise source for MobileNet shallow

---
 .../src/mobilenet_shallow_promise.cpp         | 1225 +++++++++++++++++
 1 file changed, 1225 insertions(+)
 create mode 100644 llvm/test/VISC/DNN_Benchmarks/benchmarks/mobilenet_shallow/src/mobilenet_shallow_promise.cpp

diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/mobilenet_shallow/src/mobilenet_shallow_promise.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/mobilenet_shallow/src/mobilenet_shallow_promise.cpp
new file mode 100644
index 0000000000..361fa0c1c4
--- /dev/null
+++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/mobilenet_shallow/src/mobilenet_shallow_promise.cpp
@@ -0,0 +1,1225 @@
+
+#include <stdio.h> 
+#include <stdlib.h> 
+#include <unistd.h> 
+#include <fcntl.h> 
+#include <sys/stat.h> 
+#include <cstring> 
+#include <visc.h> 
+#include <tensorTypes.h> 
+#include <tensorUtils.h> 
+
+void var_0_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::PROMISE_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 1, 1, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_1_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_2_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_3_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_group_convolution(t1, t2, 1, 1, 1, 1, 1, 32); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_4_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_5_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_6_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::PROMISE_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 0, 0, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_7_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_8_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_9_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_group_convolution(t1, t2, 1, 1, 2, 2, 1, 64); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_10_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_11_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_12_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::PROMISE_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 0, 0, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_13_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_14_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_15_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_group_convolution(t1, t2, 1, 1, 1, 1, 1, 128); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_16_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_17_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_18_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::PROMISE_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 0, 0, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_19_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_20_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_21_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_group_convolution(t1, t2, 1, 1, 2, 2, 1, 128); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_22_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_23_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_24_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::PROMISE_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 0, 0, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_25_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_26_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_27_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_group_convolution(t1, t2, 1, 1, 1, 1, 1, 256); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_28_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_29_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_30_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::PROMISE_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 0, 0, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_31_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_32_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_33_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_group_convolution(t1, t2, 1, 1, 2, 2, 1, 256); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_34_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_35_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_36_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::PROMISE_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 0, 0, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_37_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_38_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_39_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_pool_mean(t1, 2, 2, 0, 0, 2, 2); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_40_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::PROMISE_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_mul(t1, t2); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_41_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::PROMISE_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_add(t1, t2); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_42_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_softmax(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void root(void* input, size_t input_bytes, 
+	  void* conv2d_1_w, size_t conv2d_1_w_bytes, 
+	  void* batch_normalization_1_gamma, size_t batch_normalization_1_gamma_bytes, 
+	  void* batch_normalization_1_beta, size_t batch_normalization_1_beta_bytes, 
+	  void* batch_normalization_1_mean, size_t batch_normalization_1_mean_bytes, 
+	  void* batch_normalization_1_variance, size_t batch_normalization_1_variance_bytes, 
+	  void* depthwise_conv2d_1_w, size_t depthwise_conv2d_1_w_bytes, 
+	  void* batch_normalization_2_gamma, size_t batch_normalization_2_gamma_bytes, 
+	  void* batch_normalization_2_beta, size_t batch_normalization_2_beta_bytes, 
+	  void* batch_normalization_2_mean, size_t batch_normalization_2_mean_bytes, 
+	  void* batch_normalization_2_variance, size_t batch_normalization_2_variance_bytes, 
+	  void* conv2d_2_w, size_t conv2d_2_w_bytes, 
+	  void* batch_normalization_3_gamma, size_t batch_normalization_3_gamma_bytes, 
+	  void* batch_normalization_3_beta, size_t batch_normalization_3_beta_bytes, 
+	  void* batch_normalization_3_mean, size_t batch_normalization_3_mean_bytes, 
+	  void* batch_normalization_3_variance, size_t batch_normalization_3_variance_bytes, 
+	  void* depthwise_conv2d_2_w, size_t depthwise_conv2d_2_w_bytes, 
+	  void* batch_normalization_4_gamma, size_t batch_normalization_4_gamma_bytes, 
+	  void* batch_normalization_4_beta, size_t batch_normalization_4_beta_bytes, 
+	  void* batch_normalization_4_mean, size_t batch_normalization_4_mean_bytes, 
+	  void* batch_normalization_4_variance, size_t batch_normalization_4_variance_bytes, 
+	  void* conv2d_3_w, size_t conv2d_3_w_bytes, 
+	  void* batch_normalization_5_gamma, size_t batch_normalization_5_gamma_bytes, 
+	  void* batch_normalization_5_beta, size_t batch_normalization_5_beta_bytes, 
+	  void* batch_normalization_5_mean, size_t batch_normalization_5_mean_bytes, 
+	  void* batch_normalization_5_variance, size_t batch_normalization_5_variance_bytes, 
+	  void* depthwise_conv2d_3_w, size_t depthwise_conv2d_3_w_bytes, 
+	  void* batch_normalization_6_gamma, size_t batch_normalization_6_gamma_bytes, 
+	  void* batch_normalization_6_beta, size_t batch_normalization_6_beta_bytes, 
+	  void* batch_normalization_6_mean, size_t batch_normalization_6_mean_bytes, 
+	  void* batch_normalization_6_variance, size_t batch_normalization_6_variance_bytes, 
+	  void* conv2d_4_w, size_t conv2d_4_w_bytes, 
+	  void* batch_normalization_7_gamma, size_t batch_normalization_7_gamma_bytes, 
+	  void* batch_normalization_7_beta, size_t batch_normalization_7_beta_bytes, 
+	  void* batch_normalization_7_mean, size_t batch_normalization_7_mean_bytes, 
+	  void* batch_normalization_7_variance, size_t batch_normalization_7_variance_bytes, 
+	  void* depthwise_conv2d_4_w, size_t depthwise_conv2d_4_w_bytes, 
+	  void* batch_normalization_8_gamma, size_t batch_normalization_8_gamma_bytes, 
+	  void* batch_normalization_8_beta, size_t batch_normalization_8_beta_bytes, 
+	  void* batch_normalization_8_mean, size_t batch_normalization_8_mean_bytes, 
+	  void* batch_normalization_8_variance, size_t batch_normalization_8_variance_bytes, 
+	  void* conv2d_5_w, size_t conv2d_5_w_bytes, 
+	  void* batch_normalization_9_gamma, size_t batch_normalization_9_gamma_bytes, 
+	  void* batch_normalization_9_beta, size_t batch_normalization_9_beta_bytes, 
+	  void* batch_normalization_9_mean, size_t batch_normalization_9_mean_bytes, 
+	  void* batch_normalization_9_variance, size_t batch_normalization_9_variance_bytes, 
+	  void* depthwise_conv2d_5_w, size_t depthwise_conv2d_5_w_bytes, 
+	  void* batch_normalization_10_gamma, size_t batch_normalization_10_gamma_bytes, 
+	  void* batch_normalization_10_beta, size_t batch_normalization_10_beta_bytes, 
+	  void* batch_normalization_10_mean, size_t batch_normalization_10_mean_bytes, 
+	  void* batch_normalization_10_variance, size_t batch_normalization_10_variance_bytes, 
+	  void* conv2d_6_w, size_t conv2d_6_w_bytes, 
+	  void* batch_normalization_11_gamma, size_t batch_normalization_11_gamma_bytes, 
+	  void* batch_normalization_11_beta, size_t batch_normalization_11_beta_bytes, 
+	  void* batch_normalization_11_mean, size_t batch_normalization_11_mean_bytes, 
+	  void* batch_normalization_11_variance, size_t batch_normalization_11_variance_bytes, 
+	  void* depthwise_conv2d_6_w, size_t depthwise_conv2d_6_w_bytes, 
+	  void* batch_normalization_12_gamma, size_t batch_normalization_12_gamma_bytes, 
+	  void* batch_normalization_12_beta, size_t batch_normalization_12_beta_bytes, 
+	  void* batch_normalization_12_mean, size_t batch_normalization_12_mean_bytes, 
+	  void* batch_normalization_12_variance, size_t batch_normalization_12_variance_bytes, 
+	  void* conv2d_7_w, size_t conv2d_7_w_bytes, 
+	  void* batch_normalization_13_gamma, size_t batch_normalization_13_gamma_bytes, 
+	  void* batch_normalization_13_beta, size_t batch_normalization_13_beta_bytes, 
+	  void* batch_normalization_13_mean, size_t batch_normalization_13_mean_bytes, 
+	  void* batch_normalization_13_variance, size_t batch_normalization_13_variance_bytes, 
+	  void* dense_1_w, size_t dense_1_w_bytes, 
+	  void* dense_1_b, size_t dense_1_b_bytes){ 
+
+
+  __visc__hint(visc::CPU_TARGET); 
+  __visc__attributes(68, input, conv2d_1_w, batch_normalization_1_gamma, batch_normalization_1_beta, batch_normalization_1_mean, batch_normalization_1_variance, depthwise_conv2d_1_w, batch_normalization_2_gamma, batch_normalization_2_beta, batch_normalization_2_mean, batch_normalization_2_variance, conv2d_2_w, batch_normalization_3_gamma, batch_normalization_3_beta, batch_normalization_3_mean, batch_normalization_3_variance, depthwise_conv2d_2_w, batch_normalization_4_gamma, batch_normalization_4_beta, batch_normalization_4_mean, batch_normalization_4_variance, conv2d_3_w, batch_normalization_5_gamma, batch_normalization_5_beta, batch_normalization_5_mean, batch_normalization_5_variance, depthwise_conv2d_3_w, batch_normalization_6_gamma, batch_normalization_6_beta, batch_normalization_6_mean, batch_normalization_6_variance, conv2d_4_w, batch_normalization_7_gamma, batch_normalization_7_beta, batch_normalization_7_mean, batch_normalization_7_variance, depthwise_conv2d_4_w, batch_normalization_8_gamma, batch_normalization_8_beta, batch_normalization_8_mean, batch_normalization_8_variance, conv2d_5_w, batch_normalization_9_gamma, batch_normalization_9_beta, batch_normalization_9_mean, batch_normalization_9_variance, depthwise_conv2d_5_w, batch_normalization_10_gamma, batch_normalization_10_beta, batch_normalization_10_mean, batch_normalization_10_variance, conv2d_6_w, batch_normalization_11_gamma, batch_normalization_11_beta, batch_normalization_11_mean, batch_normalization_11_variance, depthwise_conv2d_6_w, batch_normalization_12_gamma, batch_normalization_12_beta, batch_normalization_12_mean, batch_normalization_12_variance, conv2d_7_w, batch_normalization_13_gamma, batch_normalization_13_beta, batch_normalization_13_mean, batch_normalization_13_variance, dense_1_w, dense_1_b, 0); 
+
+
+  void* var_0 = __visc__createNodeND(0, var_0_node); 
+
+  __visc__bindIn(var_0, 0, 0, 0); 
+  __visc__bindIn(var_0, 1, 1, 0); 
+  __visc__bindIn(var_0, 2, 2, 0); 
+  __visc__bindIn(var_0, 3, 3, 0); 
+
+  void* var_1 = __visc__createNodeND(0, var_1_node); 
+
+  __visc__edge(var_0, var_1, 1, 0, 0, 0); 
+  __visc__edge(var_0, var_1, 1, 1, 1, 0); 
+  __visc__bindIn(var_1, 4, 2, 0); 
+  __visc__bindIn(var_1, 5, 3, 0); 
+  __visc__bindIn(var_1, 6, 4, 0); 
+  __visc__bindIn(var_1, 7, 5, 0); 
+  __visc__bindIn(var_1, 8, 6, 0); 
+  __visc__bindIn(var_1, 9, 7, 0); 
+  __visc__bindIn(var_1, 10, 8, 0); 
+  __visc__bindIn(var_1, 11, 9, 0); 
+
+  void* var_2 = __visc__createNodeND(0, var_2_node); 
+
+  __visc__edge(var_1, var_2, 1, 0, 0, 0); 
+  __visc__edge(var_1, var_2, 1, 1, 1, 0); 
+
+  void* var_3 = __visc__createNodeND(0, var_3_node); 
+
+  __visc__edge(var_2, var_3, 1, 0, 0, 0); 
+  __visc__edge(var_2, var_3, 1, 1, 1, 0); 
+  __visc__bindIn(var_3, 12, 2, 0); 
+  __visc__bindIn(var_3, 13, 3, 0); 
+
+  void* var_4 = __visc__createNodeND(0, var_4_node); 
+
+  __visc__edge(var_3, var_4, 1, 0, 0, 0); 
+  __visc__edge(var_3, var_4, 1, 1, 1, 0); 
+  __visc__bindIn(var_4, 14, 2, 0); 
+  __visc__bindIn(var_4, 15, 3, 0); 
+  __visc__bindIn(var_4, 16, 4, 0); 
+  __visc__bindIn(var_4, 17, 5, 0); 
+  __visc__bindIn(var_4, 18, 6, 0); 
+  __visc__bindIn(var_4, 19, 7, 0); 
+  __visc__bindIn(var_4, 20, 8, 0); 
+  __visc__bindIn(var_4, 21, 9, 0); 
+
+  void* var_5 = __visc__createNodeND(0, var_5_node); 
+
+  __visc__edge(var_4, var_5, 1, 0, 0, 0); 
+  __visc__edge(var_4, var_5, 1, 1, 1, 0); 
+
+  void* var_6 = __visc__createNodeND(0, var_6_node); 
+
+  __visc__edge(var_5, var_6, 1, 0, 0, 0); 
+  __visc__edge(var_5, var_6, 1, 1, 1, 0); 
+  __visc__bindIn(var_6, 22, 2, 0); 
+  __visc__bindIn(var_6, 23, 3, 0); 
+
+  void* var_7 = __visc__createNodeND(0, var_7_node); 
+
+  __visc__edge(var_6, var_7, 1, 0, 0, 0); 
+  __visc__edge(var_6, var_7, 1, 1, 1, 0); 
+  __visc__bindIn(var_7, 24, 2, 0); 
+  __visc__bindIn(var_7, 25, 3, 0); 
+  __visc__bindIn(var_7, 26, 4, 0); 
+  __visc__bindIn(var_7, 27, 5, 0); 
+  __visc__bindIn(var_7, 28, 6, 0); 
+  __visc__bindIn(var_7, 29, 7, 0); 
+  __visc__bindIn(var_7, 30, 8, 0); 
+  __visc__bindIn(var_7, 31, 9, 0); 
+
+  void* var_8 = __visc__createNodeND(0, var_8_node); 
+
+  __visc__edge(var_7, var_8, 1, 0, 0, 0); 
+  __visc__edge(var_7, var_8, 1, 1, 1, 0); 
+
+  void* var_9 = __visc__createNodeND(0, var_9_node); 
+
+  __visc__edge(var_8, var_9, 1, 0, 0, 0); 
+  __visc__edge(var_8, var_9, 1, 1, 1, 0); 
+  __visc__bindIn(var_9, 32, 2, 0); 
+  __visc__bindIn(var_9, 33, 3, 0); 
+
+  void* var_10 = __visc__createNodeND(0, var_10_node); 
+
+  __visc__edge(var_9, var_10, 1, 0, 0, 0); 
+  __visc__edge(var_9, var_10, 1, 1, 1, 0); 
+  __visc__bindIn(var_10, 34, 2, 0); 
+  __visc__bindIn(var_10, 35, 3, 0); 
+  __visc__bindIn(var_10, 36, 4, 0); 
+  __visc__bindIn(var_10, 37, 5, 0); 
+  __visc__bindIn(var_10, 38, 6, 0); 
+  __visc__bindIn(var_10, 39, 7, 0); 
+  __visc__bindIn(var_10, 40, 8, 0); 
+  __visc__bindIn(var_10, 41, 9, 0); 
+
+  void* var_11 = __visc__createNodeND(0, var_11_node); 
+
+  __visc__edge(var_10, var_11, 1, 0, 0, 0); 
+  __visc__edge(var_10, var_11, 1, 1, 1, 0); 
+
+  void* var_12 = __visc__createNodeND(0, var_12_node); 
+
+  __visc__edge(var_11, var_12, 1, 0, 0, 0); 
+  __visc__edge(var_11, var_12, 1, 1, 1, 0); 
+  __visc__bindIn(var_12, 42, 2, 0); 
+  __visc__bindIn(var_12, 43, 3, 0); 
+
+  void* var_13 = __visc__createNodeND(0, var_13_node); 
+
+  __visc__edge(var_12, var_13, 1, 0, 0, 0); 
+  __visc__edge(var_12, var_13, 1, 1, 1, 0); 
+  __visc__bindIn(var_13, 44, 2, 0); 
+  __visc__bindIn(var_13, 45, 3, 0); 
+  __visc__bindIn(var_13, 46, 4, 0); 
+  __visc__bindIn(var_13, 47, 5, 0); 
+  __visc__bindIn(var_13, 48, 6, 0); 
+  __visc__bindIn(var_13, 49, 7, 0); 
+  __visc__bindIn(var_13, 50, 8, 0); 
+  __visc__bindIn(var_13, 51, 9, 0); 
+
+  void* var_14 = __visc__createNodeND(0, var_14_node); 
+
+  __visc__edge(var_13, var_14, 1, 0, 0, 0); 
+  __visc__edge(var_13, var_14, 1, 1, 1, 0); 
+
+  void* var_15 = __visc__createNodeND(0, var_15_node); 
+
+  __visc__edge(var_14, var_15, 1, 0, 0, 0); 
+  __visc__edge(var_14, var_15, 1, 1, 1, 0); 
+  __visc__bindIn(var_15, 52, 2, 0); 
+  __visc__bindIn(var_15, 53, 3, 0); 
+
+  void* var_16 = __visc__createNodeND(0, var_16_node); 
+
+  __visc__edge(var_15, var_16, 1, 0, 0, 0); 
+  __visc__edge(var_15, var_16, 1, 1, 1, 0); 
+  __visc__bindIn(var_16, 54, 2, 0); 
+  __visc__bindIn(var_16, 55, 3, 0); 
+  __visc__bindIn(var_16, 56, 4, 0); 
+  __visc__bindIn(var_16, 57, 5, 0); 
+  __visc__bindIn(var_16, 58, 6, 0); 
+  __visc__bindIn(var_16, 59, 7, 0); 
+  __visc__bindIn(var_16, 60, 8, 0); 
+  __visc__bindIn(var_16, 61, 9, 0); 
+
+  void* var_17 = __visc__createNodeND(0, var_17_node); 
+
+  __visc__edge(var_16, var_17, 1, 0, 0, 0); 
+  __visc__edge(var_16, var_17, 1, 1, 1, 0); 
+
+  void* var_18 = __visc__createNodeND(0, var_18_node); 
+
+  __visc__edge(var_17, var_18, 1, 0, 0, 0); 
+  __visc__edge(var_17, var_18, 1, 1, 1, 0); 
+  __visc__bindIn(var_18, 62, 2, 0); 
+  __visc__bindIn(var_18, 63, 3, 0); 
+
+  void* var_19 = __visc__createNodeND(0, var_19_node); 
+
+  __visc__edge(var_18, var_19, 1, 0, 0, 0); 
+  __visc__edge(var_18, var_19, 1, 1, 1, 0); 
+  __visc__bindIn(var_19, 64, 2, 0); 
+  __visc__bindIn(var_19, 65, 3, 0); 
+  __visc__bindIn(var_19, 66, 4, 0); 
+  __visc__bindIn(var_19, 67, 5, 0); 
+  __visc__bindIn(var_19, 68, 6, 0); 
+  __visc__bindIn(var_19, 69, 7, 0); 
+  __visc__bindIn(var_19, 70, 8, 0); 
+  __visc__bindIn(var_19, 71, 9, 0); 
+
+  void* var_20 = __visc__createNodeND(0, var_20_node); 
+
+  __visc__edge(var_19, var_20, 1, 0, 0, 0); 
+  __visc__edge(var_19, var_20, 1, 1, 1, 0); 
+
+  void* var_21 = __visc__createNodeND(0, var_21_node); 
+
+  __visc__edge(var_20, var_21, 1, 0, 0, 0); 
+  __visc__edge(var_20, var_21, 1, 1, 1, 0); 
+  __visc__bindIn(var_21, 72, 2, 0); 
+  __visc__bindIn(var_21, 73, 3, 0); 
+
+  void* var_22 = __visc__createNodeND(0, var_22_node); 
+
+  __visc__edge(var_21, var_22, 1, 0, 0, 0); 
+  __visc__edge(var_21, var_22, 1, 1, 1, 0); 
+  __visc__bindIn(var_22, 74, 2, 0); 
+  __visc__bindIn(var_22, 75, 3, 0); 
+  __visc__bindIn(var_22, 76, 4, 0); 
+  __visc__bindIn(var_22, 77, 5, 0); 
+  __visc__bindIn(var_22, 78, 6, 0); 
+  __visc__bindIn(var_22, 79, 7, 0); 
+  __visc__bindIn(var_22, 80, 8, 0); 
+  __visc__bindIn(var_22, 81, 9, 0); 
+
+  void* var_23 = __visc__createNodeND(0, var_23_node); 
+
+  __visc__edge(var_22, var_23, 1, 0, 0, 0); 
+  __visc__edge(var_22, var_23, 1, 1, 1, 0); 
+
+  void* var_24 = __visc__createNodeND(0, var_24_node); 
+
+  __visc__edge(var_23, var_24, 1, 0, 0, 0); 
+  __visc__edge(var_23, var_24, 1, 1, 1, 0); 
+  __visc__bindIn(var_24, 82, 2, 0); 
+  __visc__bindIn(var_24, 83, 3, 0); 
+
+  void* var_25 = __visc__createNodeND(0, var_25_node); 
+
+  __visc__edge(var_24, var_25, 1, 0, 0, 0); 
+  __visc__edge(var_24, var_25, 1, 1, 1, 0); 
+  __visc__bindIn(var_25, 84, 2, 0); 
+  __visc__bindIn(var_25, 85, 3, 0); 
+  __visc__bindIn(var_25, 86, 4, 0); 
+  __visc__bindIn(var_25, 87, 5, 0); 
+  __visc__bindIn(var_25, 88, 6, 0); 
+  __visc__bindIn(var_25, 89, 7, 0); 
+  __visc__bindIn(var_25, 90, 8, 0); 
+  __visc__bindIn(var_25, 91, 9, 0); 
+
+  void* var_26 = __visc__createNodeND(0, var_26_node); 
+
+  __visc__edge(var_25, var_26, 1, 0, 0, 0); 
+  __visc__edge(var_25, var_26, 1, 1, 1, 0); 
+
+  void* var_27 = __visc__createNodeND(0, var_27_node); 
+
+  __visc__edge(var_26, var_27, 1, 0, 0, 0); 
+  __visc__edge(var_26, var_27, 1, 1, 1, 0); 
+  __visc__bindIn(var_27, 92, 2, 0); 
+  __visc__bindIn(var_27, 93, 3, 0); 
+
+  void* var_28 = __visc__createNodeND(0, var_28_node); 
+
+  __visc__edge(var_27, var_28, 1, 0, 0, 0); 
+  __visc__edge(var_27, var_28, 1, 1, 1, 0); 
+  __visc__bindIn(var_28, 94, 2, 0); 
+  __visc__bindIn(var_28, 95, 3, 0); 
+  __visc__bindIn(var_28, 96, 4, 0); 
+  __visc__bindIn(var_28, 97, 5, 0); 
+  __visc__bindIn(var_28, 98, 6, 0); 
+  __visc__bindIn(var_28, 99, 7, 0); 
+  __visc__bindIn(var_28, 100, 8, 0); 
+  __visc__bindIn(var_28, 101, 9, 0); 
+
+  void* var_29 = __visc__createNodeND(0, var_29_node); 
+
+  __visc__edge(var_28, var_29, 1, 0, 0, 0); 
+  __visc__edge(var_28, var_29, 1, 1, 1, 0); 
+
+  void* var_30 = __visc__createNodeND(0, var_30_node); 
+
+  __visc__edge(var_29, var_30, 1, 0, 0, 0); 
+  __visc__edge(var_29, var_30, 1, 1, 1, 0); 
+  __visc__bindIn(var_30, 102, 2, 0); 
+  __visc__bindIn(var_30, 103, 3, 0); 
+
+  void* var_31 = __visc__createNodeND(0, var_31_node); 
+
+  __visc__edge(var_30, var_31, 1, 0, 0, 0); 
+  __visc__edge(var_30, var_31, 1, 1, 1, 0); 
+  __visc__bindIn(var_31, 104, 2, 0); 
+  __visc__bindIn(var_31, 105, 3, 0); 
+  __visc__bindIn(var_31, 106, 4, 0); 
+  __visc__bindIn(var_31, 107, 5, 0); 
+  __visc__bindIn(var_31, 108, 6, 0); 
+  __visc__bindIn(var_31, 109, 7, 0); 
+  __visc__bindIn(var_31, 110, 8, 0); 
+  __visc__bindIn(var_31, 111, 9, 0); 
+
+  void* var_32 = __visc__createNodeND(0, var_32_node); 
+
+  __visc__edge(var_31, var_32, 1, 0, 0, 0); 
+  __visc__edge(var_31, var_32, 1, 1, 1, 0); 
+
+  void* var_33 = __visc__createNodeND(0, var_33_node); 
+
+  __visc__edge(var_32, var_33, 1, 0, 0, 0); 
+  __visc__edge(var_32, var_33, 1, 1, 1, 0); 
+  __visc__bindIn(var_33, 112, 2, 0); 
+  __visc__bindIn(var_33, 113, 3, 0); 
+
+  void* var_34 = __visc__createNodeND(0, var_34_node); 
+
+  __visc__edge(var_33, var_34, 1, 0, 0, 0); 
+  __visc__edge(var_33, var_34, 1, 1, 1, 0); 
+  __visc__bindIn(var_34, 114, 2, 0); 
+  __visc__bindIn(var_34, 115, 3, 0); 
+  __visc__bindIn(var_34, 116, 4, 0); 
+  __visc__bindIn(var_34, 117, 5, 0); 
+  __visc__bindIn(var_34, 118, 6, 0); 
+  __visc__bindIn(var_34, 119, 7, 0); 
+  __visc__bindIn(var_34, 120, 8, 0); 
+  __visc__bindIn(var_34, 121, 9, 0); 
+
+  void* var_35 = __visc__createNodeND(0, var_35_node); 
+
+  __visc__edge(var_34, var_35, 1, 0, 0, 0); 
+  __visc__edge(var_34, var_35, 1, 1, 1, 0); 
+
+  void* var_36 = __visc__createNodeND(0, var_36_node); 
+
+  __visc__edge(var_35, var_36, 1, 0, 0, 0); 
+  __visc__edge(var_35, var_36, 1, 1, 1, 0); 
+  __visc__bindIn(var_36, 122, 2, 0); 
+  __visc__bindIn(var_36, 123, 3, 0); 
+
+  void* var_37 = __visc__createNodeND(0, var_37_node); 
+
+  __visc__edge(var_36, var_37, 1, 0, 0, 0); 
+  __visc__edge(var_36, var_37, 1, 1, 1, 0); 
+  __visc__bindIn(var_37, 124, 2, 0); 
+  __visc__bindIn(var_37, 125, 3, 0); 
+  __visc__bindIn(var_37, 126, 4, 0); 
+  __visc__bindIn(var_37, 127, 5, 0); 
+  __visc__bindIn(var_37, 128, 6, 0); 
+  __visc__bindIn(var_37, 129, 7, 0); 
+  __visc__bindIn(var_37, 130, 8, 0); 
+  __visc__bindIn(var_37, 131, 9, 0); 
+
+  void* var_38 = __visc__createNodeND(0, var_38_node); 
+
+  __visc__edge(var_37, var_38, 1, 0, 0, 0); 
+  __visc__edge(var_37, var_38, 1, 1, 1, 0); 
+
+  void* var_39 = __visc__createNodeND(0, var_39_node); 
+
+  __visc__edge(var_38, var_39, 1, 0, 0, 0); 
+  __visc__edge(var_38, var_39, 1, 1, 1, 0); 
+
+  void* var_40 = __visc__createNodeND(0, var_40_node); 
+
+  __visc__edge(var_39, var_40, 1, 0, 0, 0); 
+  __visc__edge(var_39, var_40, 1, 1, 1, 0); 
+  __visc__bindIn(var_40, 132, 2, 0); 
+  __visc__bindIn(var_40, 133, 3, 0); 
+
+  void* var_41 = __visc__createNodeND(0, var_41_node); 
+
+  __visc__edge(var_40, var_41, 1, 0, 0, 0); 
+  __visc__edge(var_40, var_41, 1, 1, 1, 0); 
+  __visc__bindIn(var_41, 134, 2, 0); 
+  __visc__bindIn(var_41, 135, 3, 0); 
+
+  void* var_42 = __visc__createNodeND(0, var_42_node); 
+
+  __visc__edge(var_41, var_42, 1, 0, 0, 0); 
+  __visc__edge(var_41, var_42, 1, 1, 1, 0); 
+
+  __visc__bindOut(var_42, 0, 0, 0); 
+  __visc__bindOut(var_42, 1, 1, 0); 
+
+}
+
+struct ret_t {
+  void* tensor; 
+  size_t bytes; 
+}; 
+
+typedef struct __attribute__((__packed__)) {
+  void* input; 
+  size_t input_bytes; 
+  void* conv2d_1_w; 
+  size_t conv2d_1_w_bytes; 
+  void* batch_normalization_1_gamma; 
+  size_t batch_normalization_1_gamma_bytes; 
+  void* batch_normalization_1_beta; 
+  size_t batch_normalization_1_beta_bytes; 
+  void* batch_normalization_1_mean; 
+  size_t batch_normalization_1_mean_bytes; 
+  void* batch_normalization_1_variance; 
+  size_t batch_normalization_1_variance_bytes; 
+  void* depthwise_conv2d_1_w; 
+  size_t depthwise_conv2d_1_w_bytes; 
+  void* batch_normalization_2_gamma; 
+  size_t batch_normalization_2_gamma_bytes; 
+  void* batch_normalization_2_beta; 
+  size_t batch_normalization_2_beta_bytes; 
+  void* batch_normalization_2_mean; 
+  size_t batch_normalization_2_mean_bytes; 
+  void* batch_normalization_2_variance; 
+  size_t batch_normalization_2_variance_bytes; 
+  void* conv2d_2_w; 
+  size_t conv2d_2_w_bytes; 
+  void* batch_normalization_3_gamma; 
+  size_t batch_normalization_3_gamma_bytes; 
+  void* batch_normalization_3_beta; 
+  size_t batch_normalization_3_beta_bytes; 
+  void* batch_normalization_3_mean; 
+  size_t batch_normalization_3_mean_bytes; 
+  void* batch_normalization_3_variance; 
+  size_t batch_normalization_3_variance_bytes; 
+  void* depthwise_conv2d_2_w; 
+  size_t depthwise_conv2d_2_w_bytes; 
+  void* batch_normalization_4_gamma; 
+  size_t batch_normalization_4_gamma_bytes; 
+  void* batch_normalization_4_beta; 
+  size_t batch_normalization_4_beta_bytes; 
+  void* batch_normalization_4_mean; 
+  size_t batch_normalization_4_mean_bytes; 
+  void* batch_normalization_4_variance; 
+  size_t batch_normalization_4_variance_bytes; 
+  void* conv2d_3_w; 
+  size_t conv2d_3_w_bytes; 
+  void* batch_normalization_5_gamma; 
+  size_t batch_normalization_5_gamma_bytes; 
+  void* batch_normalization_5_beta; 
+  size_t batch_normalization_5_beta_bytes; 
+  void* batch_normalization_5_mean; 
+  size_t batch_normalization_5_mean_bytes; 
+  void* batch_normalization_5_variance; 
+  size_t batch_normalization_5_variance_bytes; 
+  void* depthwise_conv2d_3_w; 
+  size_t depthwise_conv2d_3_w_bytes; 
+  void* batch_normalization_6_gamma; 
+  size_t batch_normalization_6_gamma_bytes; 
+  void* batch_normalization_6_beta; 
+  size_t batch_normalization_6_beta_bytes; 
+  void* batch_normalization_6_mean; 
+  size_t batch_normalization_6_mean_bytes; 
+  void* batch_normalization_6_variance; 
+  size_t batch_normalization_6_variance_bytes; 
+  void* conv2d_4_w; 
+  size_t conv2d_4_w_bytes; 
+  void* batch_normalization_7_gamma; 
+  size_t batch_normalization_7_gamma_bytes; 
+  void* batch_normalization_7_beta; 
+  size_t batch_normalization_7_beta_bytes; 
+  void* batch_normalization_7_mean; 
+  size_t batch_normalization_7_mean_bytes; 
+  void* batch_normalization_7_variance; 
+  size_t batch_normalization_7_variance_bytes; 
+  void* depthwise_conv2d_4_w; 
+  size_t depthwise_conv2d_4_w_bytes; 
+  void* batch_normalization_8_gamma; 
+  size_t batch_normalization_8_gamma_bytes; 
+  void* batch_normalization_8_beta; 
+  size_t batch_normalization_8_beta_bytes; 
+  void* batch_normalization_8_mean; 
+  size_t batch_normalization_8_mean_bytes; 
+  void* batch_normalization_8_variance; 
+  size_t batch_normalization_8_variance_bytes; 
+  void* conv2d_5_w; 
+  size_t conv2d_5_w_bytes; 
+  void* batch_normalization_9_gamma; 
+  size_t batch_normalization_9_gamma_bytes; 
+  void* batch_normalization_9_beta; 
+  size_t batch_normalization_9_beta_bytes; 
+  void* batch_normalization_9_mean; 
+  size_t batch_normalization_9_mean_bytes; 
+  void* batch_normalization_9_variance; 
+  size_t batch_normalization_9_variance_bytes; 
+  void* depthwise_conv2d_5_w; 
+  size_t depthwise_conv2d_5_w_bytes; 
+  void* batch_normalization_10_gamma; 
+  size_t batch_normalization_10_gamma_bytes; 
+  void* batch_normalization_10_beta; 
+  size_t batch_normalization_10_beta_bytes; 
+  void* batch_normalization_10_mean; 
+  size_t batch_normalization_10_mean_bytes; 
+  void* batch_normalization_10_variance; 
+  size_t batch_normalization_10_variance_bytes; 
+  void* conv2d_6_w; 
+  size_t conv2d_6_w_bytes; 
+  void* batch_normalization_11_gamma; 
+  size_t batch_normalization_11_gamma_bytes; 
+  void* batch_normalization_11_beta; 
+  size_t batch_normalization_11_beta_bytes; 
+  void* batch_normalization_11_mean; 
+  size_t batch_normalization_11_mean_bytes; 
+  void* batch_normalization_11_variance; 
+  size_t batch_normalization_11_variance_bytes; 
+  void* depthwise_conv2d_6_w; 
+  size_t depthwise_conv2d_6_w_bytes; 
+  void* batch_normalization_12_gamma; 
+  size_t batch_normalization_12_gamma_bytes; 
+  void* batch_normalization_12_beta; 
+  size_t batch_normalization_12_beta_bytes; 
+  void* batch_normalization_12_mean; 
+  size_t batch_normalization_12_mean_bytes; 
+  void* batch_normalization_12_variance; 
+  size_t batch_normalization_12_variance_bytes; 
+  void* conv2d_7_w; 
+  size_t conv2d_7_w_bytes; 
+  void* batch_normalization_13_gamma; 
+  size_t batch_normalization_13_gamma_bytes; 
+  void* batch_normalization_13_beta; 
+  size_t batch_normalization_13_beta_bytes; 
+  void* batch_normalization_13_mean; 
+  size_t batch_normalization_13_mean_bytes; 
+  void* batch_normalization_13_variance; 
+  size_t batch_normalization_13_variance_bytes; 
+  void* dense_1_w; 
+  size_t dense_1_w_bytes; 
+  void* dense_1_b; 
+  size_t dense_1_b_bytes; 
+
+  struct ret_t r; 
+}
+RootIn;
+
+int main(){ 
+
+  std::string dir_prefix = std::string("../../../../../../projects/hpvm-tensor-rt/model_params/mobilenet_shallow/");
+
+  std::string input_path =  dir_prefix + std::string("input.bin"); 
+  std::string labels_path =  dir_prefix + std::string("labels.bin"); 
+  std::string conv2d_1_w_path =  dir_prefix + std::string("conv2d_1_w.bin"); 
+  void* conv2d_1_w =  readTrainedWeights(conv2d_1_w_path.c_str(), 0,32,3,3,3); 
+  std::string batch_normalization_1_gamma_path =  dir_prefix + std::string("batch_normalization_1_gamma.bin"); 
+  void* batch_normalization_1_gamma =  readTrainedWeights(batch_normalization_1_gamma_path.c_str(), 0,1,32,1,1); 
+  std::string batch_normalization_1_beta_path =  dir_prefix + std::string("batch_normalization_1_beta.bin"); 
+  void* batch_normalization_1_beta =  readTrainedWeights(batch_normalization_1_beta_path.c_str(), 0,1,32,1,1); 
+  std::string batch_normalization_1_mean_path =  dir_prefix + std::string("batch_normalization_1_mean.bin"); 
+  void* batch_normalization_1_mean =  readTrainedWeights(batch_normalization_1_mean_path.c_str(), 0,1,32,1,1); 
+  std::string batch_normalization_1_variance_path =  dir_prefix + std::string("batch_normalization_1_variance.bin"); 
+  void* batch_normalization_1_variance =  readTrainedWeights(batch_normalization_1_variance_path.c_str(), 0,1,32,1,1); 
+  std::string depthwise_conv2d_1_w_path =  dir_prefix + std::string("depthwise_conv2d_1_w.bin"); 
+  void* depthwise_conv2d_1_w =  readTrainedWeights(depthwise_conv2d_1_w_path.c_str(), 0,32,1,3,3); 
+  std::string batch_normalization_2_gamma_path =  dir_prefix + std::string("batch_normalization_2_gamma.bin"); 
+  void* batch_normalization_2_gamma =  readTrainedWeights(batch_normalization_2_gamma_path.c_str(), 0,1,32,1,1); 
+  std::string batch_normalization_2_beta_path =  dir_prefix + std::string("batch_normalization_2_beta.bin"); 
+  void* batch_normalization_2_beta =  readTrainedWeights(batch_normalization_2_beta_path.c_str(), 0,1,32,1,1); 
+  std::string batch_normalization_2_mean_path =  dir_prefix + std::string("batch_normalization_2_mean.bin"); 
+  void* batch_normalization_2_mean =  readTrainedWeights(batch_normalization_2_mean_path.c_str(), 0,1,32,1,1); 
+  std::string batch_normalization_2_variance_path =  dir_prefix + std::string("batch_normalization_2_variance.bin"); 
+  void* batch_normalization_2_variance =  readTrainedWeights(batch_normalization_2_variance_path.c_str(), 0,1,32,1,1); 
+  std::string conv2d_2_w_path =  dir_prefix + std::string("conv2d_2_w.bin"); 
+  void* conv2d_2_w =  readTrainedWeights(conv2d_2_w_path.c_str(), 0,64,32,1,1); 
+  std::string batch_normalization_3_gamma_path =  dir_prefix + std::string("batch_normalization_3_gamma.bin"); 
+  void* batch_normalization_3_gamma =  readTrainedWeights(batch_normalization_3_gamma_path.c_str(), 0,1,64,1,1); 
+  std::string batch_normalization_3_beta_path =  dir_prefix + std::string("batch_normalization_3_beta.bin"); 
+  void* batch_normalization_3_beta =  readTrainedWeights(batch_normalization_3_beta_path.c_str(), 0,1,64,1,1); 
+  std::string batch_normalization_3_mean_path =  dir_prefix + std::string("batch_normalization_3_mean.bin"); 
+  void* batch_normalization_3_mean =  readTrainedWeights(batch_normalization_3_mean_path.c_str(), 0,1,64,1,1); 
+  std::string batch_normalization_3_variance_path =  dir_prefix + std::string("batch_normalization_3_variance.bin"); 
+  void* batch_normalization_3_variance =  readTrainedWeights(batch_normalization_3_variance_path.c_str(), 0,1,64,1,1); 
+  std::string depthwise_conv2d_2_w_path =  dir_prefix + std::string("depthwise_conv2d_2_w.bin"); 
+  void* depthwise_conv2d_2_w =  readTrainedWeights(depthwise_conv2d_2_w_path.c_str(), 0,64,1,3,3); 
+  std::string batch_normalization_4_gamma_path =  dir_prefix + std::string("batch_normalization_4_gamma.bin"); 
+  void* batch_normalization_4_gamma =  readTrainedWeights(batch_normalization_4_gamma_path.c_str(), 0,1,64,1,1); 
+  std::string batch_normalization_4_beta_path =  dir_prefix + std::string("batch_normalization_4_beta.bin"); 
+  void* batch_normalization_4_beta =  readTrainedWeights(batch_normalization_4_beta_path.c_str(), 0,1,64,1,1); 
+  std::string batch_normalization_4_mean_path =  dir_prefix + std::string("batch_normalization_4_mean.bin"); 
+  void* batch_normalization_4_mean =  readTrainedWeights(batch_normalization_4_mean_path.c_str(), 0,1,64,1,1); 
+  std::string batch_normalization_4_variance_path =  dir_prefix + std::string("batch_normalization_4_variance.bin"); 
+  void* batch_normalization_4_variance =  readTrainedWeights(batch_normalization_4_variance_path.c_str(), 0,1,64,1,1); 
+  std::string conv2d_3_w_path =  dir_prefix + std::string("conv2d_3_w.bin"); 
+  void* conv2d_3_w =  readTrainedWeights(conv2d_3_w_path.c_str(), 0,128,64,1,1); 
+  std::string batch_normalization_5_gamma_path =  dir_prefix + std::string("batch_normalization_5_gamma.bin"); 
+  void* batch_normalization_5_gamma =  readTrainedWeights(batch_normalization_5_gamma_path.c_str(), 0,1,128,1,1); 
+  std::string batch_normalization_5_beta_path =  dir_prefix + std::string("batch_normalization_5_beta.bin"); 
+  void* batch_normalization_5_beta =  readTrainedWeights(batch_normalization_5_beta_path.c_str(), 0,1,128,1,1); 
+  std::string batch_normalization_5_mean_path =  dir_prefix + std::string("batch_normalization_5_mean.bin"); 
+  void* batch_normalization_5_mean =  readTrainedWeights(batch_normalization_5_mean_path.c_str(), 0,1,128,1,1); 
+  std::string batch_normalization_5_variance_path =  dir_prefix + std::string("batch_normalization_5_variance.bin"); 
+  void* batch_normalization_5_variance =  readTrainedWeights(batch_normalization_5_variance_path.c_str(), 0,1,128,1,1); 
+  std::string depthwise_conv2d_3_w_path =  dir_prefix + std::string("depthwise_conv2d_3_w.bin"); 
+  void* depthwise_conv2d_3_w =  readTrainedWeights(depthwise_conv2d_3_w_path.c_str(), 0,128,1,3,3); 
+  std::string batch_normalization_6_gamma_path =  dir_prefix + std::string("batch_normalization_6_gamma.bin"); 
+  void* batch_normalization_6_gamma =  readTrainedWeights(batch_normalization_6_gamma_path.c_str(), 0,1,128,1,1); 
+  std::string batch_normalization_6_beta_path =  dir_prefix + std::string("batch_normalization_6_beta.bin"); 
+  void* batch_normalization_6_beta =  readTrainedWeights(batch_normalization_6_beta_path.c_str(), 0,1,128,1,1); 
+  std::string batch_normalization_6_mean_path =  dir_prefix + std::string("batch_normalization_6_mean.bin"); 
+  void* batch_normalization_6_mean =  readTrainedWeights(batch_normalization_6_mean_path.c_str(), 0,1,128,1,1); 
+  std::string batch_normalization_6_variance_path =  dir_prefix + std::string("batch_normalization_6_variance.bin"); 
+  void* batch_normalization_6_variance =  readTrainedWeights(batch_normalization_6_variance_path.c_str(), 0,1,128,1,1); 
+  std::string conv2d_4_w_path =  dir_prefix + std::string("conv2d_4_w.bin"); 
+  void* conv2d_4_w =  readTrainedWeights(conv2d_4_w_path.c_str(), 0,128,128,1,1); 
+  std::string batch_normalization_7_gamma_path =  dir_prefix + std::string("batch_normalization_7_gamma.bin"); 
+  void* batch_normalization_7_gamma =  readTrainedWeights(batch_normalization_7_gamma_path.c_str(), 0,1,128,1,1); 
+  std::string batch_normalization_7_beta_path =  dir_prefix + std::string("batch_normalization_7_beta.bin"); 
+  void* batch_normalization_7_beta =  readTrainedWeights(batch_normalization_7_beta_path.c_str(), 0,1,128,1,1); 
+  std::string batch_normalization_7_mean_path =  dir_prefix + std::string("batch_normalization_7_mean.bin"); 
+  void* batch_normalization_7_mean =  readTrainedWeights(batch_normalization_7_mean_path.c_str(), 0,1,128,1,1); 
+  std::string batch_normalization_7_variance_path =  dir_prefix + std::string("batch_normalization_7_variance.bin"); 
+  void* batch_normalization_7_variance =  readTrainedWeights(batch_normalization_7_variance_path.c_str(), 0,1,128,1,1); 
+  std::string depthwise_conv2d_4_w_path =  dir_prefix + std::string("depthwise_conv2d_4_w.bin"); 
+  void* depthwise_conv2d_4_w =  readTrainedWeights(depthwise_conv2d_4_w_path.c_str(), 0,128,1,3,3); 
+  std::string batch_normalization_8_gamma_path =  dir_prefix + std::string("batch_normalization_8_gamma.bin"); 
+  void* batch_normalization_8_gamma =  readTrainedWeights(batch_normalization_8_gamma_path.c_str(), 0,1,128,1,1); 
+  std::string batch_normalization_8_beta_path =  dir_prefix + std::string("batch_normalization_8_beta.bin"); 
+  void* batch_normalization_8_beta =  readTrainedWeights(batch_normalization_8_beta_path.c_str(), 0,1,128,1,1); 
+  std::string batch_normalization_8_mean_path =  dir_prefix + std::string("batch_normalization_8_mean.bin"); 
+  void* batch_normalization_8_mean =  readTrainedWeights(batch_normalization_8_mean_path.c_str(), 0,1,128,1,1); 
+  std::string batch_normalization_8_variance_path =  dir_prefix + std::string("batch_normalization_8_variance.bin"); 
+  void* batch_normalization_8_variance =  readTrainedWeights(batch_normalization_8_variance_path.c_str(), 0,1,128,1,1); 
+  std::string conv2d_5_w_path =  dir_prefix + std::string("conv2d_5_w.bin"); 
+  void* conv2d_5_w =  readTrainedWeights(conv2d_5_w_path.c_str(), 0,256,128,1,1); 
+  std::string batch_normalization_9_gamma_path =  dir_prefix + std::string("batch_normalization_9_gamma.bin"); 
+  void* batch_normalization_9_gamma =  readTrainedWeights(batch_normalization_9_gamma_path.c_str(), 0,1,256,1,1); 
+  std::string batch_normalization_9_beta_path =  dir_prefix + std::string("batch_normalization_9_beta.bin"); 
+  void* batch_normalization_9_beta =  readTrainedWeights(batch_normalization_9_beta_path.c_str(), 0,1,256,1,1); 
+  std::string batch_normalization_9_mean_path =  dir_prefix + std::string("batch_normalization_9_mean.bin"); 
+  void* batch_normalization_9_mean =  readTrainedWeights(batch_normalization_9_mean_path.c_str(), 0,1,256,1,1); 
+  std::string batch_normalization_9_variance_path =  dir_prefix + std::string("batch_normalization_9_variance.bin"); 
+  void* batch_normalization_9_variance =  readTrainedWeights(batch_normalization_9_variance_path.c_str(), 0,1,256,1,1); 
+  std::string depthwise_conv2d_5_w_path =  dir_prefix + std::string("depthwise_conv2d_5_w.bin"); 
+  void* depthwise_conv2d_5_w =  readTrainedWeights(depthwise_conv2d_5_w_path.c_str(), 0,256,1,3,3); 
+  std::string batch_normalization_10_gamma_path =  dir_prefix + std::string("batch_normalization_10_gamma.bin"); 
+  void* batch_normalization_10_gamma =  readTrainedWeights(batch_normalization_10_gamma_path.c_str(), 0,1,256,1,1); 
+  std::string batch_normalization_10_beta_path =  dir_prefix + std::string("batch_normalization_10_beta.bin"); 
+  void* batch_normalization_10_beta =  readTrainedWeights(batch_normalization_10_beta_path.c_str(), 0,1,256,1,1); 
+  std::string batch_normalization_10_mean_path =  dir_prefix + std::string("batch_normalization_10_mean.bin"); 
+  void* batch_normalization_10_mean =  readTrainedWeights(batch_normalization_10_mean_path.c_str(), 0,1,256,1,1); 
+  std::string batch_normalization_10_variance_path =  dir_prefix + std::string("batch_normalization_10_variance.bin"); 
+  void* batch_normalization_10_variance =  readTrainedWeights(batch_normalization_10_variance_path.c_str(), 0,1,256,1,1); 
+  std::string conv2d_6_w_path =  dir_prefix + std::string("conv2d_6_w.bin"); 
+  void* conv2d_6_w =  readTrainedWeights(conv2d_6_w_path.c_str(), 0,256,256,1,1); 
+  std::string batch_normalization_11_gamma_path =  dir_prefix + std::string("batch_normalization_11_gamma.bin"); 
+  void* batch_normalization_11_gamma =  readTrainedWeights(batch_normalization_11_gamma_path.c_str(), 0,1,256,1,1); 
+  std::string batch_normalization_11_beta_path =  dir_prefix + std::string("batch_normalization_11_beta.bin"); 
+  void* batch_normalization_11_beta =  readTrainedWeights(batch_normalization_11_beta_path.c_str(), 0,1,256,1,1); 
+  std::string batch_normalization_11_mean_path =  dir_prefix + std::string("batch_normalization_11_mean.bin"); 
+  void* batch_normalization_11_mean =  readTrainedWeights(batch_normalization_11_mean_path.c_str(), 0,1,256,1,1); 
+  std::string batch_normalization_11_variance_path =  dir_prefix + std::string("batch_normalization_11_variance.bin"); 
+  void* batch_normalization_11_variance =  readTrainedWeights(batch_normalization_11_variance_path.c_str(), 0,1,256,1,1); 
+  std::string depthwise_conv2d_6_w_path =  dir_prefix + std::string("depthwise_conv2d_6_w.bin"); 
+  void* depthwise_conv2d_6_w =  readTrainedWeights(depthwise_conv2d_6_w_path.c_str(), 0,256,1,3,3); 
+  std::string batch_normalization_12_gamma_path =  dir_prefix + std::string("batch_normalization_12_gamma.bin"); 
+  void* batch_normalization_12_gamma =  readTrainedWeights(batch_normalization_12_gamma_path.c_str(), 0,1,256,1,1); 
+  std::string batch_normalization_12_beta_path =  dir_prefix + std::string("batch_normalization_12_beta.bin"); 
+  void* batch_normalization_12_beta =  readTrainedWeights(batch_normalization_12_beta_path.c_str(), 0,1,256,1,1); 
+  std::string batch_normalization_12_mean_path =  dir_prefix + std::string("batch_normalization_12_mean.bin"); 
+  void* batch_normalization_12_mean =  readTrainedWeights(batch_normalization_12_mean_path.c_str(), 0,1,256,1,1); 
+  std::string batch_normalization_12_variance_path =  dir_prefix + std::string("batch_normalization_12_variance.bin"); 
+  void* batch_normalization_12_variance =  readTrainedWeights(batch_normalization_12_variance_path.c_str(), 0,1,256,1,1); 
+  std::string conv2d_7_w_path =  dir_prefix + std::string("conv2d_7_w.bin"); 
+  void* conv2d_7_w =  readTrainedWeights(conv2d_7_w_path.c_str(), 0,512,256,1,1); 
+  std::string batch_normalization_13_gamma_path =  dir_prefix + std::string("batch_normalization_13_gamma.bin"); 
+  void* batch_normalization_13_gamma =  readTrainedWeights(batch_normalization_13_gamma_path.c_str(), 0,1,512,1,1); 
+  std::string batch_normalization_13_beta_path =  dir_prefix + std::string("batch_normalization_13_beta.bin"); 
+  void* batch_normalization_13_beta =  readTrainedWeights(batch_normalization_13_beta_path.c_str(), 0,1,512,1,1); 
+  std::string batch_normalization_13_mean_path =  dir_prefix + std::string("batch_normalization_13_mean.bin"); 
+  void* batch_normalization_13_mean =  readTrainedWeights(batch_normalization_13_mean_path.c_str(), 0,1,512,1,1); 
+  std::string batch_normalization_13_variance_path =  dir_prefix + std::string("batch_normalization_13_variance.bin"); 
+  void* batch_normalization_13_variance =  readTrainedWeights(batch_normalization_13_variance_path.c_str(), 0,1,512,1,1); 
+  std::string dense_1_w_path =  dir_prefix + std::string("dense_1_w.bin"); 
+  void* dense_1_w =  readTrainedWeights(dense_1_w_path.c_str(), 0,1,1,2048,10); 
+  std::string dense_1_b_path =  dir_prefix + std::string("dense_1_b.bin"); 
+  void* dense_1_b =  readTrainedWeights(dense_1_b_path.c_str(), 0,1,10,1,1); 
+  void* input = readTrainedWeights(input_path.c_str(), 0, 5000,3,32,32); 
+  uint8_t* labels = readLabels(labels_path.c_str(), 5000); 
+
+  __visc__init(); 
+  RootIn* args = static_cast<RootIn*>(malloc(sizeof(RootIn))); 
+
+  args->input = input; 
+  args->input_bytes = 0; 
+  args->conv2d_1_w = conv2d_1_w; 
+  args->conv2d_1_w_bytes = 0; 
+  args->batch_normalization_1_gamma = batch_normalization_1_gamma; 
+  args->batch_normalization_1_gamma_bytes = 0; 
+  args->batch_normalization_1_beta = batch_normalization_1_beta; 
+  args->batch_normalization_1_beta_bytes = 0; 
+  args->batch_normalization_1_mean = batch_normalization_1_mean; 
+  args->batch_normalization_1_mean_bytes = 0; 
+  args->batch_normalization_1_variance = batch_normalization_1_variance; 
+  args->batch_normalization_1_variance_bytes = 0; 
+  args->depthwise_conv2d_1_w = depthwise_conv2d_1_w; 
+  args->depthwise_conv2d_1_w_bytes = 0; 
+  args->batch_normalization_2_gamma = batch_normalization_2_gamma; 
+  args->batch_normalization_2_gamma_bytes = 0; 
+  args->batch_normalization_2_beta = batch_normalization_2_beta; 
+  args->batch_normalization_2_beta_bytes = 0; 
+  args->batch_normalization_2_mean = batch_normalization_2_mean; 
+  args->batch_normalization_2_mean_bytes = 0; 
+  args->batch_normalization_2_variance = batch_normalization_2_variance; 
+  args->batch_normalization_2_variance_bytes = 0; 
+  args->conv2d_2_w = conv2d_2_w; 
+  args->conv2d_2_w_bytes = 0; 
+  args->batch_normalization_3_gamma = batch_normalization_3_gamma; 
+  args->batch_normalization_3_gamma_bytes = 0; 
+  args->batch_normalization_3_beta = batch_normalization_3_beta; 
+  args->batch_normalization_3_beta_bytes = 0; 
+  args->batch_normalization_3_mean = batch_normalization_3_mean; 
+  args->batch_normalization_3_mean_bytes = 0; 
+  args->batch_normalization_3_variance = batch_normalization_3_variance; 
+  args->batch_normalization_3_variance_bytes = 0; 
+  args->depthwise_conv2d_2_w = depthwise_conv2d_2_w; 
+  args->depthwise_conv2d_2_w_bytes = 0; 
+  args->batch_normalization_4_gamma = batch_normalization_4_gamma; 
+  args->batch_normalization_4_gamma_bytes = 0; 
+  args->batch_normalization_4_beta = batch_normalization_4_beta; 
+  args->batch_normalization_4_beta_bytes = 0; 
+  args->batch_normalization_4_mean = batch_normalization_4_mean; 
+  args->batch_normalization_4_mean_bytes = 0; 
+  args->batch_normalization_4_variance = batch_normalization_4_variance; 
+  args->batch_normalization_4_variance_bytes = 0; 
+  args->conv2d_3_w = conv2d_3_w; 
+  args->conv2d_3_w_bytes = 0; 
+  args->batch_normalization_5_gamma = batch_normalization_5_gamma; 
+  args->batch_normalization_5_gamma_bytes = 0; 
+  args->batch_normalization_5_beta = batch_normalization_5_beta; 
+  args->batch_normalization_5_beta_bytes = 0; 
+  args->batch_normalization_5_mean = batch_normalization_5_mean; 
+  args->batch_normalization_5_mean_bytes = 0; 
+  args->batch_normalization_5_variance = batch_normalization_5_variance; 
+  args->batch_normalization_5_variance_bytes = 0; 
+  args->depthwise_conv2d_3_w = depthwise_conv2d_3_w; 
+  args->depthwise_conv2d_3_w_bytes = 0; 
+  args->batch_normalization_6_gamma = batch_normalization_6_gamma; 
+  args->batch_normalization_6_gamma_bytes = 0; 
+  args->batch_normalization_6_beta = batch_normalization_6_beta; 
+  args->batch_normalization_6_beta_bytes = 0; 
+  args->batch_normalization_6_mean = batch_normalization_6_mean; 
+  args->batch_normalization_6_mean_bytes = 0; 
+  args->batch_normalization_6_variance = batch_normalization_6_variance; 
+  args->batch_normalization_6_variance_bytes = 0; 
+  args->conv2d_4_w = conv2d_4_w; 
+  args->conv2d_4_w_bytes = 0; 
+  args->batch_normalization_7_gamma = batch_normalization_7_gamma; 
+  args->batch_normalization_7_gamma_bytes = 0; 
+  args->batch_normalization_7_beta = batch_normalization_7_beta; 
+  args->batch_normalization_7_beta_bytes = 0; 
+  args->batch_normalization_7_mean = batch_normalization_7_mean; 
+  args->batch_normalization_7_mean_bytes = 0; 
+  args->batch_normalization_7_variance = batch_normalization_7_variance; 
+  args->batch_normalization_7_variance_bytes = 0; 
+  args->depthwise_conv2d_4_w = depthwise_conv2d_4_w; 
+  args->depthwise_conv2d_4_w_bytes = 0; 
+  args->batch_normalization_8_gamma = batch_normalization_8_gamma; 
+  args->batch_normalization_8_gamma_bytes = 0; 
+  args->batch_normalization_8_beta = batch_normalization_8_beta; 
+  args->batch_normalization_8_beta_bytes = 0; 
+  args->batch_normalization_8_mean = batch_normalization_8_mean; 
+  args->batch_normalization_8_mean_bytes = 0; 
+  args->batch_normalization_8_variance = batch_normalization_8_variance; 
+  args->batch_normalization_8_variance_bytes = 0; 
+  args->conv2d_5_w = conv2d_5_w; 
+  args->conv2d_5_w_bytes = 0; 
+  args->batch_normalization_9_gamma = batch_normalization_9_gamma; 
+  args->batch_normalization_9_gamma_bytes = 0; 
+  args->batch_normalization_9_beta = batch_normalization_9_beta; 
+  args->batch_normalization_9_beta_bytes = 0; 
+  args->batch_normalization_9_mean = batch_normalization_9_mean; 
+  args->batch_normalization_9_mean_bytes = 0; 
+  args->batch_normalization_9_variance = batch_normalization_9_variance; 
+  args->batch_normalization_9_variance_bytes = 0; 
+  args->depthwise_conv2d_5_w = depthwise_conv2d_5_w; 
+  args->depthwise_conv2d_5_w_bytes = 0; 
+  args->batch_normalization_10_gamma = batch_normalization_10_gamma; 
+  args->batch_normalization_10_gamma_bytes = 0; 
+  args->batch_normalization_10_beta = batch_normalization_10_beta; 
+  args->batch_normalization_10_beta_bytes = 0; 
+  args->batch_normalization_10_mean = batch_normalization_10_mean; 
+  args->batch_normalization_10_mean_bytes = 0; 
+  args->batch_normalization_10_variance = batch_normalization_10_variance; 
+  args->batch_normalization_10_variance_bytes = 0; 
+  args->conv2d_6_w = conv2d_6_w; 
+  args->conv2d_6_w_bytes = 0; 
+  args->batch_normalization_11_gamma = batch_normalization_11_gamma; 
+  args->batch_normalization_11_gamma_bytes = 0; 
+  args->batch_normalization_11_beta = batch_normalization_11_beta; 
+  args->batch_normalization_11_beta_bytes = 0; 
+  args->batch_normalization_11_mean = batch_normalization_11_mean; 
+  args->batch_normalization_11_mean_bytes = 0; 
+  args->batch_normalization_11_variance = batch_normalization_11_variance; 
+  args->batch_normalization_11_variance_bytes = 0; 
+  args->depthwise_conv2d_6_w = depthwise_conv2d_6_w; 
+  args->depthwise_conv2d_6_w_bytes = 0; 
+  args->batch_normalization_12_gamma = batch_normalization_12_gamma; 
+  args->batch_normalization_12_gamma_bytes = 0; 
+  args->batch_normalization_12_beta = batch_normalization_12_beta; 
+  args->batch_normalization_12_beta_bytes = 0; 
+  args->batch_normalization_12_mean = batch_normalization_12_mean; 
+  args->batch_normalization_12_mean_bytes = 0; 
+  args->batch_normalization_12_variance = batch_normalization_12_variance; 
+  args->batch_normalization_12_variance_bytes = 0; 
+  args->conv2d_7_w = conv2d_7_w; 
+  args->conv2d_7_w_bytes = 0; 
+  args->batch_normalization_13_gamma = batch_normalization_13_gamma; 
+  args->batch_normalization_13_gamma_bytes = 0; 
+  args->batch_normalization_13_beta = batch_normalization_13_beta; 
+  args->batch_normalization_13_beta_bytes = 0; 
+  args->batch_normalization_13_mean = batch_normalization_13_mean; 
+  args->batch_normalization_13_mean_bytes = 0; 
+  args->batch_normalization_13_variance = batch_normalization_13_variance; 
+  args->batch_normalization_13_variance_bytes = 0; 
+  args->dense_1_w = dense_1_w; 
+  args->dense_1_w_bytes = 0; 
+  args->dense_1_b = dense_1_b; 
+  args->dense_1_b_bytes = 0; 
+
+  void* dfg = __visc__launch(0, root, (void*) args); 
+
+  __visc__wait(dfg); 
+
+  void *result = static_cast<RootIn*>(args)->input; 
+  hpvm_request_tensor(result, 0); 
+
+  __visc__cleanup(); 
+  computeAccuracy2(labels, 5000, result); 
+  return 0; 
+
+} 
-- 
GitLab