Support soft nms in BOX_WITH_NMS_LIMIT.

Fixes: 128923996
Test: NeuralNetworksTest_static
Change-Id: Ib7cc2869c44929609cf6d1c1683a787cef3549e3
Merged-In: Ib7cc2869c44929609cf6d1c1683a787cef3549e3
(cherry picked from commit 0cd426588e8905d17de05113b28682f803fbbb28)
diff --git a/common/operations/GenerateProposals.cpp b/common/operations/GenerateProposals.cpp
index d1d6774..9b0df04 100644
--- a/common/operations/GenerateProposals.cpp
+++ b/common/operations/GenerateProposals.cpp
@@ -282,13 +282,16 @@
 
 constexpr char kOperationName[] = "BOX_WITH_NMS_LIMIT";
 
-constexpr uint32_t kNumInputs = 6;
+constexpr uint32_t kNumInputs = 9;
 constexpr uint32_t kScoreTensor = 0;
 constexpr uint32_t kRoiTensor = 1;
 constexpr uint32_t kBatchesTensor = 2;
 constexpr uint32_t kScoreThresholdScalar = 3;
-constexpr uint32_t kIoUThresholdScalar = 4;
-constexpr uint32_t kMaxNumDetectionScalar = 5;
+constexpr uint32_t kMaxNumDetectionScalar = 4;
+constexpr uint32_t kNmsKernelScalar = 5;
+constexpr uint32_t kIoUThresholdScalar = 6;
+constexpr uint32_t kSigmaScalar = 7;
+constexpr uint32_t kNmsScoreThresholdScalar = 8;
 
 constexpr uint32_t kNumOutputs = 4;
 constexpr uint32_t kOutputScoreTensor = 0;
@@ -298,6 +301,8 @@
 
 namespace {
 
+// TODO(xusongw): Reduce code duplication with hard/soft nms path.
+
 // Inplace hard NMS within range [select, select + selectLength).
 uint32_t* hardNmsSingleClass(const float* scoresData, float iouThreshold, int32_t maxNumDetections,
                              std::function<const float*(uint32_t)> getRoiBase, uint32_t* select,
@@ -360,13 +365,90 @@
     select->resize(maxNumDetections);
 }
 
-bool boxWithNmsLimitFloat32Compute(const float* scoresData, const Shape& scoresShape,
+// Inplace soft NMS within range [select, select + selectLength).
+using SoftNmsKernel = std::function<float(float)>;
+uint32_t* softNmsSingleClass(float* scoresData, float scoreThreshold, int32_t maxNumDetections,
+                             std::function<const float*(uint32_t)> getRoiBase, SoftNmsKernel kernel,
+                             uint32_t* select, uint32_t selectLength) {
+    uint32_t *selectStart = select, *selectEnd = select + selectLength, numDetections = 0;
+    if (maxNumDetections < 0) {
+        maxNumDetections = selectLength;
+    }
+    while (selectStart < selectEnd && numDetections < maxNumDetections) {
+        // find max score and swap to the front
+        auto& maxScore = *std::max_element(selectStart, selectEnd,
+                                           [&scoresData](const uint32_t& lhs, const uint32_t& rhs) {
+                                               return scoresData[lhs] < scoresData[rhs];
+                                           });
+        std::swap(maxScore, *selectStart);
+
+        // Calculate IoU of the rest, swap to the end (disgard) if needed.
+        for (uint32_t* i = selectStart + 1; i < selectEnd; i++) {
+            float iou = getIoUAxisAligned(getRoiBase(*i), getRoiBase(*selectStart));
+            scoresData[*i] *= kernel(iou);
+            if (scoresData[*i] < scoreThreshold) {
+                std::swap(*i--, *(--selectEnd));
+            }
+        }
+        selectStart++;
+        numDetections++;
+    }
+    return selectStart;
+}
+
+void softNmsMultiClass(float* scoresData, uint32_t numClasses, uint32_t numRois,
+                       float scoreThreshold, float nmsScoreThreshold, int32_t maxNumDetections,
+                       int32_t maxNumDetectionsPerClass,
+                       std::function<const float*(uint32_t)> getRoiBase, SoftNmsKernel kernel,
+                       std::vector<uint32_t>* select) {
+    // Exclude class 0 (background)
+    for (uint32_t c = 1; c < numClasses; c++) {
+        uint32_t size = select->size();
+        for (uint32_t b = 0; b < numRois; b++) {
+            const uint32_t index = b * numClasses + c;
+            const float score = scoresData[index];
+            if (score > scoreThreshold) {
+                select->push_back(index);
+            }
+        }
+        uint32_t* selectStart = select->data() + size;
+        uint32_t selectLength = select->size() - size;
+        uint32_t* selectEnd =
+                softNmsSingleClass(scoresData, nmsScoreThreshold, maxNumDetectionsPerClass,
+                                   getRoiBase, kernel, selectStart, selectLength);
+        select->resize(selectEnd - select->data());
+    }
+
+    // Take top maxNumDetections.
+    std::sort(select->begin(), select->end(),
+              [&scoresData](const uint32_t& lhs, const uint32_t& rhs) {
+                  return scoresData[lhs] > scoresData[rhs];
+              });
+    if (maxNumDetections < 0 || select->size() <= maxNumDetections) {
+        return;
+    }
+    select->resize(maxNumDetections);
+}
+
+bool boxWithNmsLimitFloat32Compute(float* scoresData, const Shape& scoresShape,
                                    const float* roiData, const Shape& roiShape,
                                    const int32_t* batchesData, const Shape& batchesShape,
-                                   float scoreThreshold, float iouThreshold,
-                                   int32_t maxNumDetections, std::vector<uint32_t>* batchSplitIn,
+                                   float scoreThreshold, int32_t maxNumDetections,
+                                   int32_t softNmsKernel, float iouThreshold, float sigma,
+                                   float nmsScoreThreshold, std::vector<uint32_t>* batchSplitIn,
                                    std::vector<uint32_t>* batchSplitOut,
                                    std::vector<uint32_t>* selected) {
+    SoftNmsKernel kernel = nullptr;
+    if (softNmsKernel == 0) {
+        kernel = [&iouThreshold](float iou) { return iou < iouThreshold ? 1.0f : 0.0f; };
+    } else if (softNmsKernel == 1) {
+        kernel = [&iouThreshold](float iou) { return iou < iouThreshold ? 1.0f : 1.0f - iou; };
+    } else if (softNmsKernel == 2) {
+        kernel = [&sigma](float iou) { return std::exp(-1.0f * iou * iou / sigma); };
+    } else {
+        NN_RET_CHECK_FAIL() << "Unsupported soft NMS kernel " << softNmsKernel;
+    }
+
     const uint32_t kRoiDim = 4;
     uint32_t numRois = getSizeOfDimension(scoresShape, 0);
     uint32_t numClasses = getSizeOfDimension(scoresShape, 1);
@@ -382,7 +464,7 @@
         }
     }
 
-    const float* scoresBase = scoresData;
+    float* scoresBase = scoresData;
     const float* roiBase = roiData;
     selected->clear();
     for (uint32_t b = 0; b < batchSplitIn->size(); b++) {
@@ -393,9 +475,10 @@
             NN_RET_CHECK_LE(roi[1], roi[3]);
         }
         std::vector<uint32_t> result;
-        hardNmsMultiClass(scoresBase, numClasses, batchSplitIn->at(b), scoreThreshold, iouThreshold,
-                          maxNumDetections, maxNumDetections,
-                          [&roiBase](uint32_t ind) { return roiBase + ind * kRoiDim; }, &result);
+        softNmsMultiClass(scoresBase, numClasses, batchSplitIn->at(b), scoreThreshold,
+                          nmsScoreThreshold, maxNumDetections, maxNumDetections,
+                          [&roiBase](uint32_t ind) { return roiBase + ind * kRoiDim; }, kernel,
+                          &result);
         // Sort again by class.
         std::sort(result.begin(), result.end(),
                   [&scoresBase, numClasses](const uint32_t& lhs, const uint32_t& rhs) {
@@ -411,10 +494,23 @@
     return true;
 }
 
+template <typename T>
+T castTo(float val, const Shape&) {
+    return val;
+}
+template <>
+uint8_t castTo(float val, const Shape& shape) {
+    int32_t intVal = std::round(val / shape.scale + shape.offset);
+    intVal = std::min<int32_t>(std::max<int32_t>(intVal, std::numeric_limits<uint8_t>::min()),
+                               std::numeric_limits<uint8_t>::max());
+    return static_cast<uint8_t>(intVal);
+}
+
 template <typename T_Score, typename T_Roi>
 bool boxWithNmsLimitWriteOutput(const std::vector<uint32_t>& selected,
                                 const std::vector<uint32_t>& batchSplitIn,
                                 const std::vector<uint32_t>& batchSplitOut,
+                                const std::vector<float>& scores,
                                 IOperationExecutionContext* context) {
     const uint32_t kRoiDim = 4;
     Shape scoresShape = context->getInputShape(kScoreTensor);
@@ -440,7 +536,7 @@
     NN_RET_CHECK(context->setOutputShape(kOutputBatchesTensor, batchesOutShape));
 
     // Write outputs.
-    const T_Score* scoresBase = context->getInputBuffer<T_Score>(kScoreTensor);
+    const float* scoresBase = scores.data();
     const T_Roi* roiBase = context->getInputBuffer<T_Roi>(kRoiTensor);
     const int32_t* batchesInPtr = context->getInputBuffer<int32_t>(kBatchesTensor);
     T_Score* scoresOutPtr = context->getOutputBuffer<T_Score>(kOutputScoreTensor);
@@ -451,7 +547,7 @@
     for (uint32_t b = 0; b < batchSplitOut.size(); b++) {
         for (uint32_t j = 0; j < batchSplitOut[b]; j++) {
             uint32_t index = selected[i++];
-            *scoresOutPtr++ = scoresBase[index];
+            *scoresOutPtr++ = castTo<T_Score>(scoresBase[index], scoresOutShape);
             memcpy(roiOutPtr, roiBase + index * kRoiDim, kRoiDim * sizeof(T_Roi));
             roiOutPtr += kRoiDim;
             *classesOutPtr++ = index % numClasses;
@@ -466,24 +562,32 @@
 
 bool boxWithNmsLimitFloat32(const float* scoresData, const Shape& scoresShape, const float* roiData,
                             const Shape& roiShape, const int32_t* batchesData,
-                            const Shape& batchesShape, float scoreThreshold, float iouThreshold,
-                            int32_t maxNumDetections, float* scoresOutData, Shape scoresOutShape,
-                            float* roiOutData, Shape roiOutShape, int32_t* classesOutData,
-                            Shape classesOutShape, int32_t* batchesOutData,
+                            const Shape& batchesShape, float scoreThreshold,
+                            int32_t maxNumDetections, int32_t softNmsKernel, float iouThreshold,
+                            float sigma, float nmsScoreThreshold, float* scoresOutData,
+                            Shape scoresOutShape, float* roiOutData, Shape roiOutShape,
+                            int32_t* classesOutData, Shape classesOutShape, int32_t* batchesOutData,
                             const Shape& batchSplitOutShape, IOperationExecutionContext* context) {
     NNTRACE_TRANS("boxWithNmsLimit");
+    std::vector<float> scores_float32(getNumberOfElements(scoresShape));
+    for (uint32_t i = 0; i < scores_float32.size(); i++) {
+        scores_float32[i] = scoresData[i];
+    }
     std::vector<uint32_t> selected, batchSplitIn, batchSplitOut;
     NN_RET_CHECK(boxWithNmsLimitFloat32Compute(
-            scoresData, scoresShape, roiData, roiShape, batchesData, batchesShape, scoreThreshold,
-            iouThreshold, maxNumDetections, &batchSplitIn, &batchSplitOut, &selected));
-    return boxWithNmsLimitWriteOutput<float, float>(selected, batchSplitIn, batchSplitOut, context);
+            scores_float32.data(), scoresShape, roiData, roiShape, batchesData, batchesShape,
+            scoreThreshold, maxNumDetections, softNmsKernel, iouThreshold, sigma, nmsScoreThreshold,
+            &batchSplitIn, &batchSplitOut, &selected));
+    return boxWithNmsLimitWriteOutput<float, float>(selected, batchSplitIn, batchSplitOut,
+                                                    scores_float32, context);
 }
 
 bool boxWithNmsLimitFloat16(const _Float16* scoresData, const Shape& scoresShape,
                             const _Float16* roiData, const Shape& roiShape,
                             const int32_t* batchesData, const Shape& batchesShape,
-                            _Float16 scoreThreshold, _Float16 iouThreshold,
-                            int32_t maxNumDetections, _Float16* scoresOutData,
+                            _Float16 scoreThreshold, int32_t maxNumDetections,
+                            int32_t softNmsKernel, _Float16 iouThreshold, _Float16 sigma,
+                            _Float16 nmsScoreThreshold, _Float16* scoresOutData,
                             const Shape& scoresOutShape, _Float16* roiOutData,
                             const Shape& roiOutShape, int32_t* classesOutData,
                             const Shape& classesOutShape, int32_t* batchesOutData,
@@ -495,16 +599,17 @@
     std::vector<uint32_t> selected, batchSplitIn, batchSplitOut;
     NN_RET_CHECK(boxWithNmsLimitFloat32Compute(
             scores_float32.data(), scoresShape, roi_float32.data(), roiShape, batchesData,
-            batchesShape, scoreThreshold, iouThreshold, maxNumDetections, &batchSplitIn,
-            &batchSplitOut, &selected));
+            batchesShape, scoreThreshold, maxNumDetections, softNmsKernel, iouThreshold, sigma,
+            nmsScoreThreshold, &batchSplitIn, &batchSplitOut, &selected));
     return boxWithNmsLimitWriteOutput<_Float16, _Float16>(selected, batchSplitIn, batchSplitOut,
-                                                          context);
+                                                          scores_float32, context);
 }
 
 bool boxWithNmsLimitQuant(const uint8_t* scoresData, const Shape& scoresShape,
                           const uint16_t* roiData, const Shape& roiShape,
                           const int32_t* batchesData, const Shape& batchesShape,
-                          float scoreThreshold, float iouThreshold, int32_t maxNumDetections,
+                          float scoreThreshold, int32_t maxNumDetections, int32_t softNmsKernel,
+                          float iouThreshold, float sigma, float nmsScoreThreshold,
                           uint8_t* scoresOutData, const Shape& scoresOutShape, uint16_t* roiOutData,
                           const Shape& roiOutShape, int32_t* classesOutData,
                           const Shape& classesOutShape, int32_t* batchesOutData,
@@ -516,10 +621,10 @@
     std::vector<uint32_t> selected, batchSplitIn, batchSplitOut;
     NN_RET_CHECK(boxWithNmsLimitFloat32Compute(
             scores_float32.data(), scoresShape, roi_float32.data(), roiShape, batchesData,
-            batchesShape, scoreThreshold, iouThreshold, maxNumDetections, &batchSplitIn,
-            &batchSplitOut, &selected));
+            batchesShape, scoreThreshold, maxNumDetections, softNmsKernel, iouThreshold, sigma,
+            nmsScoreThreshold, &batchSplitIn, &batchSplitOut, &selected));
     return boxWithNmsLimitWriteOutput<uint8_t, uint16_t>(selected, batchSplitIn, batchSplitOut,
-                                                         context);
+                                                         scores_float32, context);
 }
 
 }  // namespace
@@ -531,15 +636,17 @@
     std::vector<OperandType> outExpectedTypes;
     auto inputType = context->getInputType(kScoreTensor);
     if (inputType == OperandType::TENSOR_FLOAT16) {
-        inExpectedTypes = {OperandType::TENSOR_FLOAT16, OperandType::TENSOR_FLOAT16,
-                           OperandType::TENSOR_INT32,   OperandType::FLOAT16,
-                           OperandType::FLOAT16,        OperandType::INT32};
+        inExpectedTypes = {
+                OperandType::TENSOR_FLOAT16, OperandType::TENSOR_FLOAT16, OperandType::TENSOR_INT32,
+                OperandType::FLOAT16,        OperandType::INT32,          OperandType::INT32,
+                OperandType::FLOAT16,        OperandType::FLOAT16,        OperandType::FLOAT16};
         outExpectedTypes = {OperandType::TENSOR_FLOAT16, OperandType::TENSOR_FLOAT16,
                             OperandType::TENSOR_INT32, OperandType::TENSOR_INT32};
     } else if (inputType == OperandType::TENSOR_FLOAT32) {
-        inExpectedTypes = {OperandType::TENSOR_FLOAT32, OperandType::TENSOR_FLOAT32,
-                           OperandType::TENSOR_INT32,   OperandType::FLOAT32,
-                           OperandType::FLOAT32,        OperandType::INT32};
+        inExpectedTypes = {
+                OperandType::TENSOR_FLOAT32, OperandType::TENSOR_FLOAT32, OperandType::TENSOR_INT32,
+                OperandType::FLOAT32,        OperandType::INT32,          OperandType::INT32,
+                OperandType::FLOAT32,        OperandType::FLOAT32,        OperandType::FLOAT32};
         outExpectedTypes = {OperandType::TENSOR_FLOAT32, OperandType::TENSOR_FLOAT32,
                             OperandType::TENSOR_INT32, OperandType::TENSOR_INT32};
     } else if (inputType == OperandType::TENSOR_QUANT8_ASYMM) {
@@ -547,8 +654,11 @@
                            OperandType::TENSOR_QUANT16_ASYMM,
                            OperandType::TENSOR_INT32,
                            OperandType::FLOAT32,
+                           OperandType::INT32,
+                           OperandType::INT32,
                            OperandType::FLOAT32,
-                           OperandType::INT32};
+                           OperandType::FLOAT32,
+                           OperandType::FLOAT32};
         outExpectedTypes = {OperandType::TENSOR_QUANT8_ASYMM, OperandType::TENSOR_QUANT16_ASYMM,
                             OperandType::TENSOR_INT32, OperandType::TENSOR_INT32};
     } else {
@@ -614,23 +724,27 @@
     if (getSizeOfDimension(context->getInputShape(kScoreTensor), 0) == 0) return true;
     switch (context->getInputType(kScoreTensor)) {
         case OperandType::TENSOR_FLOAT16: {
-            return boxWithNmsLimitFloat16(context->getInputBuffer<_Float16>(kScoreTensor),
-                                          context->getInputShape(kScoreTensor),
-                                          context->getInputBuffer<_Float16>(kRoiTensor),
-                                          context->getInputShape(kRoiTensor),
-                                          context->getInputBuffer<int32_t>(kBatchesTensor),
-                                          context->getInputShape(kBatchesTensor),
-                                          context->getInputValue<_Float16>(kScoreThresholdScalar),
-                                          context->getInputValue<_Float16>(kIoUThresholdScalar),
-                                          context->getInputValue<int32_t>(kMaxNumDetectionScalar),
-                                          context->getOutputBuffer<_Float16>(kOutputScoreTensor),
-                                          context->getOutputShape(kOutputScoreTensor),
-                                          context->getOutputBuffer<_Float16>(kOutputRoiTensor),
-                                          context->getOutputShape(kOutputRoiTensor),
-                                          context->getOutputBuffer<int32_t>(kOutputClassTensor),
-                                          context->getOutputShape(kOutputClassTensor),
-                                          context->getOutputBuffer<int32_t>(kOutputBatchesTensor),
-                                          context->getOutputShape(kOutputBatchesTensor), context);
+            return boxWithNmsLimitFloat16(
+                    context->getInputBuffer<_Float16>(kScoreTensor),
+                    context->getInputShape(kScoreTensor),
+                    context->getInputBuffer<_Float16>(kRoiTensor),
+                    context->getInputShape(kRoiTensor),
+                    context->getInputBuffer<int32_t>(kBatchesTensor),
+                    context->getInputShape(kBatchesTensor),
+                    context->getInputValue<_Float16>(kScoreThresholdScalar),
+                    context->getInputValue<int32_t>(kMaxNumDetectionScalar),
+                    context->getInputValue<int32_t>(kNmsKernelScalar),
+                    context->getInputValue<_Float16>(kIoUThresholdScalar),
+                    context->getInputValue<_Float16>(kSigmaScalar),
+                    context->getInputValue<_Float16>(kNmsScoreThresholdScalar),
+                    context->getOutputBuffer<_Float16>(kOutputScoreTensor),
+                    context->getOutputShape(kOutputScoreTensor),
+                    context->getOutputBuffer<_Float16>(kOutputRoiTensor),
+                    context->getOutputShape(kOutputRoiTensor),
+                    context->getOutputBuffer<int32_t>(kOutputClassTensor),
+                    context->getOutputShape(kOutputClassTensor),
+                    context->getOutputBuffer<int32_t>(kOutputBatchesTensor),
+                    context->getOutputShape(kOutputBatchesTensor), context);
         }
         case OperandType::TENSOR_FLOAT32: {
             return boxWithNmsLimitFloat32(context->getInputBuffer<float>(kScoreTensor),
@@ -640,8 +754,11 @@
                                           context->getInputBuffer<int32_t>(kBatchesTensor),
                                           context->getInputShape(kBatchesTensor),
                                           context->getInputValue<float>(kScoreThresholdScalar),
-                                          context->getInputValue<float>(kIoUThresholdScalar),
                                           context->getInputValue<int32_t>(kMaxNumDetectionScalar),
+                                          context->getInputValue<int32_t>(kNmsKernelScalar),
+                                          context->getInputValue<float>(kIoUThresholdScalar),
+                                          context->getInputValue<float>(kSigmaScalar),
+                                          context->getInputValue<float>(kNmsScoreThresholdScalar),
                                           context->getOutputBuffer<float>(kOutputScoreTensor),
                                           context->getOutputShape(kOutputScoreTensor),
                                           context->getOutputBuffer<float>(kOutputRoiTensor),
@@ -659,8 +776,11 @@
                                         context->getInputBuffer<int32_t>(kBatchesTensor),
                                         context->getInputShape(kBatchesTensor),
                                         context->getInputValue<float>(kScoreThresholdScalar),
-                                        context->getInputValue<float>(kIoUThresholdScalar),
                                         context->getInputValue<int32_t>(kMaxNumDetectionScalar),
+                                        context->getInputValue<int32_t>(kNmsKernelScalar),
+                                        context->getInputValue<float>(kIoUThresholdScalar),
+                                        context->getInputValue<float>(kSigmaScalar),
+                                        context->getInputValue<float>(kNmsScoreThresholdScalar),
                                         context->getOutputBuffer<uint8_t>(kOutputScoreTensor),
                                         context->getOutputShape(kOutputScoreTensor),
                                         context->getOutputBuffer<uint16_t>(kOutputRoiTensor),
diff --git a/runtime/include/NeuralNetworks.h b/runtime/include/NeuralNetworks.h
index 76e0cea..9dde9c6 100644
--- a/runtime/include/NeuralNetworks.h
+++ b/runtime/include/NeuralNetworks.h
@@ -2671,10 +2671,17 @@
     /**
      * Greedily selects a subset of bounding boxes in descending order of score.
      *
-     * This op applies hard NMS algorithm to each class. In each loop of
-     * execution, the box with maximum score gets selected, and any boxes with
-     * the intersection-over-union (IOU) greater than a threshold are removed
-     * from the pending set.
+     * This op applies NMS algorithm to each class. In each loop of execution,
+     * the box with maximum score gets selected and removed from the pending set.
+     * The scores of the rest of boxes are lowered according to the
+     * intersection-over-union (IOU) overlapping with the previously selected
+     * boxes and a specified NMS kernel method. Any boxes with score less
+     * than a threshold are removed from the pending set.
+     *
+     * Three NMS kernels are supported:
+     * * Hard:     score_new = score_old * (1 if IoU < threshold else 0)
+     * * Linear:   score_new = score_old * (1 if IoU < threshold else 1 - IoU)
+     * * Gaussian: score_new = score_old * exp(- IoU^2 / sigma)
      *
      * Axis-aligned bounding boxes are represented by its upper-left corner
      * coordinate (x1,y1) and lower-right corner coordinate (x2,y2). A valid
@@ -2696,16 +2703,26 @@
      *      {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM}, this tensor should be of
      *      {@link ANEURALNETWORKS_TENSOR_QUANT16_ASYMM}, with zeroPoint of 0 and
      *      scale of 0.125. Zero num_rois is supported for this tensor.
-     * * 2: A 1-D Tensor of shape [num_output_rois], specifying the batch index of
-     *      each box. Boxes with the same batch index are grouped together.
+     * * 2: A 1-D {@link ANEURALNETWORKS_TENSOR_INT32} tensor, of shape
+     *      [num_rois], specifying the batch index of each box. Boxes with
+     *      the same batch index are grouped together.
      * * 3: An {@link ANEURALNETWORKS_FLOAT32} scalar, score_threshold. Boxes
      *      with scores lower than the threshold are filtered before sending
      *      to the NMS algorithm.
-     * * 4: An {@link ANEURALNETWORKS_FLOAT32} scalar, specifying the IoU
-     *      threshold.
-     * * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the maximum
+     * * 4: An {@link ANEURALNETWORKS_INT32} scalar, specifying the maximum
      *      number of selected bounding boxes for each image. Set to a negative
      *      value for unlimited number of output bounding boxes.
+     * * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the NMS
+     *      kernel method, options are 0:hard, 1:linear, 2:gaussian.
+     * * 6: An {@link ANEURALNETWORKS_FLOAT32} scalar, specifying the IoU
+     *      threshold in hard and linear NMS kernel. This field is ignored if
+     *      gaussian kernel is selected.
+     * * 7: An {@link ANEURALNETWORKS_FLOAT32} scalar, specifying the sigma in
+     *      gaussian NMS kernel. This field is ignored if gaussian kernel is
+     *      not selected.
+     * * 8: An {@link ANEURALNETWORKS_FLOAT32} scalar, nms_score_threshold.
+     *      Boxes with scores lower than the threshold are dropped during the
+     *      score updating phase in soft NMS.
      *
      * Outputs:
      * * 0: A 1-D Tensor of the same {@link OperandCode} as input0, with shape
diff --git a/runtime/test/TestValidateOperations.cpp b/runtime/test/TestValidateOperations.cpp
index 5fb79bb..4452eb9 100644
--- a/runtime/test/TestValidateOperations.cpp
+++ b/runtime/test/TestValidateOperations.cpp
@@ -2855,7 +2855,9 @@
             ANEURALNETWORKS_BOX_WITH_NMS_LIMIT,
             {getOpType(scoreOperandCode, 2, scoreDim), getOpType(roiOperandCode, 2, roiDim),
              getOpType(ANEURALNETWORKS_TENSOR_INT32, 1, splitDim), getOpType(scalarOperandCode),
-             getOpType(scalarOperandCode), getOpType(ANEURALNETWORKS_INT32)},
+             getOpType(ANEURALNETWORKS_INT32), getOpType(ANEURALNETWORKS_INT32),
+             getOpType(scalarOperandCode), getOpType(scalarOperandCode),
+             getOpType(scalarOperandCode)},
             {getOpType(scoreOperandCode, 1, outScoreDim), getOpType(roiOperandCode, 2, outRoiDim),
              getOpType(ANEURALNETWORKS_TENSOR_INT32, 1, outClassDim),
              getOpType(ANEURALNETWORKS_TENSOR_INT32, 1, outSplitDim)});
diff --git a/runtime/test/for-cts/TestGeneratedOneFile.cpp b/runtime/test/for-cts/TestGeneratedOneFile.cpp
index 8d3288d..b3cf4c8 100644
--- a/runtime/test/for-cts/TestGeneratedOneFile.cpp
+++ b/runtime/test/for-cts/TestGeneratedOneFile.cpp
@@ -342,7 +342,9 @@
 #include "../generated/tests/bidirectional_sequence_lstm_float16_batch_major.mod.py.cpp"
 #include "../generated/tests/bidirectional_sequence_lstm_norm_fw_output.mod.py.cpp"
 #include "../generated/tests/bidirectional_sequence_rnn.mod.py.cpp"
-#include "../generated/tests/box_with_nms_limit.mod.py.cpp"
+#include "../generated/tests/box_with_nms_limit_gaussian.mod.py.cpp"
+#include "../generated/tests/box_with_nms_limit_hard.mod.py.cpp"
+#include "../generated/tests/box_with_nms_limit_linear.mod.py.cpp"
 #include "../generated/tests/cast.mod.py.cpp"
 #include "../generated/tests/channel_shuffle.mod.py.cpp"
 #include "../generated/tests/concat_float16_1.mod.py.cpp"
diff --git a/runtime/test/generated/all_generated_V1_2_vts_tests.cpp b/runtime/test/generated/all_generated_V1_2_vts_tests.cpp
index fb69bd2..f731889 100644
--- a/runtime/test/generated/all_generated_V1_2_vts_tests.cpp
+++ b/runtime/test/generated/all_generated_V1_2_vts_tests.cpp
@@ -4585,85 +4585,85 @@
 
 
 #endif
-// Generated from: box_with_nms_limit.mod.py.
-namespace box_with_nms_limit {
-// Generated box_with_nms_limit test
-#include "examples/box_with_nms_limit.example.cpp"
+// Generated from: box_with_nms_limit_gaussian.mod.py.
+namespace box_with_nms_limit_gaussian {
+// Generated box_with_nms_limit_gaussian test
+#include "examples/box_with_nms_limit_gaussian.example.cpp"
 // Generated model constructor
-#include "vts_models/box_with_nms_limit.model.cpp"
-} // namespace box_with_nms_limit
+#include "vts_models/box_with_nms_limit_gaussian.model.cpp"
+} // namespace box_with_nms_limit_gaussian
 
-TEST_F(NeuralnetworksHidlTest, box_with_nms_limit) {
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_gaussian) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel,
-                           box_with_nms_limit::is_ignored,
-                           box_with_nms_limit::get_examples());
+                           box_with_nms_limit_gaussian::createTestModel,
+                           box_with_nms_limit_gaussian::is_ignored,
+                           box_with_nms_limit_gaussian::get_examples());
 }
 
-TEST_F(ValidationTest, box_with_nms_limit) {
-  const Model model = box_with_nms_limit::createTestModel();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples());
   validateModel(model);
   validateRequests(model, requests);
 }
 
 
-TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_relaxed) {
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_gaussian_relaxed) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_relaxed,
-                           box_with_nms_limit::is_ignored_relaxed,
-                           box_with_nms_limit::get_examples_relaxed());
+                           box_with_nms_limit_gaussian::createTestModel_relaxed,
+                           box_with_nms_limit_gaussian::is_ignored_relaxed,
+                           box_with_nms_limit_gaussian::get_examples_relaxed());
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_relaxed) {
-  const Model model = box_with_nms_limit::createTestModel_relaxed();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_relaxed());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_relaxed) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_relaxed();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_relaxed());
   validateModel(model);
   validateRequests(model, requests);
 }
 
 
-TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_float16) {
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_gaussian_float16) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_float16,
-                           box_with_nms_limit::is_ignored_float16,
-                           box_with_nms_limit::get_examples_float16());
+                           box_with_nms_limit_gaussian::createTestModel_float16,
+                           box_with_nms_limit_gaussian::is_ignored_float16,
+                           box_with_nms_limit_gaussian::get_examples_float16());
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_float16) {
-  const Model model = box_with_nms_limit::createTestModel_float16();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_float16());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_float16) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_float16();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_float16());
   validateModel(model);
   validateRequests(model, requests);
 }
 
 
-TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_quant8) {
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_gaussian_quant8) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_quant8,
-                           box_with_nms_limit::is_ignored_quant8,
-                           box_with_nms_limit::get_examples_quant8());
+                           box_with_nms_limit_gaussian::createTestModel_quant8,
+                           box_with_nms_limit_gaussian::is_ignored_quant8,
+                           box_with_nms_limit_gaussian::get_examples_quant8());
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_quant8) {
-  const Model model = box_with_nms_limit::createTestModel_quant8();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_quant8());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_quant8) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_quant8();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_quant8());
   validateModel(model);
   validateRequests(model, requests);
 }
 
 
 #ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape) {
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_dynamic_output_shape,
-                           box_with_nms_limit::is_ignored_dynamic_output_shape,
-                           box_with_nms_limit::get_examples_dynamic_output_shape(), true);
+                           box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape,
+                           box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape,
+                           box_with_nms_limit_gaussian::get_examples_dynamic_output_shape(), true);
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_dynamic_output_shape) {
-  const Model model = box_with_nms_limit::createTestModel_dynamic_output_shape();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_dynamic_output_shape());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_dynamic_output_shape) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_dynamic_output_shape());
   validateModel(model);
   validateRequests(model, requests);
 }
@@ -4671,16 +4671,16 @@
 
 #endif
 #ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_relaxed) {
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_relaxed) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_dynamic_output_shape_relaxed,
-                           box_with_nms_limit::is_ignored_dynamic_output_shape_relaxed,
-                           box_with_nms_limit::get_examples_dynamic_output_shape_relaxed(), true);
+                           box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_relaxed,
+                           box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_relaxed,
+                           box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_relaxed(), true);
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_dynamic_output_shape_relaxed) {
-  const Model model = box_with_nms_limit::createTestModel_dynamic_output_shape_relaxed();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_dynamic_output_shape_relaxed());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_dynamic_output_shape_relaxed) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_relaxed();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_relaxed());
   validateModel(model);
   validateRequests(model, requests);
 }
@@ -4688,16 +4688,16 @@
 
 #endif
 #ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_float16) {
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_float16) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_dynamic_output_shape_float16,
-                           box_with_nms_limit::is_ignored_dynamic_output_shape_float16,
-                           box_with_nms_limit::get_examples_dynamic_output_shape_float16(), true);
+                           box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_float16,
+                           box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_float16,
+                           box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_float16(), true);
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_dynamic_output_shape_float16) {
-  const Model model = box_with_nms_limit::createTestModel_dynamic_output_shape_float16();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_dynamic_output_shape_float16());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_dynamic_output_shape_float16) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_float16();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_float16());
   validateModel(model);
   validateRequests(model, requests);
 }
@@ -4705,93 +4705,93 @@
 
 #endif
 #ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_quant8) {
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_quant8) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_dynamic_output_shape_quant8,
-                           box_with_nms_limit::is_ignored_dynamic_output_shape_quant8,
-                           box_with_nms_limit::get_examples_dynamic_output_shape_quant8(), true);
+                           box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_quant8,
+                           box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_quant8,
+                           box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_quant8(), true);
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_dynamic_output_shape_quant8) {
-  const Model model = box_with_nms_limit::createTestModel_dynamic_output_shape_quant8();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_dynamic_output_shape_quant8());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_dynamic_output_shape_quant8) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_quant8();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_quant8());
   validateModel(model);
   validateRequests(model, requests);
 }
 
 
 #endif
-TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_2) {
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_gaussian_2) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_2,
-                           box_with_nms_limit::is_ignored_2,
-                           box_with_nms_limit::get_examples_2());
+                           box_with_nms_limit_gaussian::createTestModel_2,
+                           box_with_nms_limit_gaussian::is_ignored_2,
+                           box_with_nms_limit_gaussian::get_examples_2());
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_2) {
-  const Model model = box_with_nms_limit::createTestModel_2();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_2());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_2) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_2());
   validateModel(model);
   validateRequests(model, requests);
 }
 
 
-TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_relaxed_2) {
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_gaussian_relaxed_2) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_relaxed_2,
-                           box_with_nms_limit::is_ignored_relaxed_2,
-                           box_with_nms_limit::get_examples_relaxed_2());
+                           box_with_nms_limit_gaussian::createTestModel_relaxed_2,
+                           box_with_nms_limit_gaussian::is_ignored_relaxed_2,
+                           box_with_nms_limit_gaussian::get_examples_relaxed_2());
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_relaxed_2) {
-  const Model model = box_with_nms_limit::createTestModel_relaxed_2();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_relaxed_2());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_relaxed_2) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_relaxed_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_relaxed_2());
   validateModel(model);
   validateRequests(model, requests);
 }
 
 
-TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_float16_2) {
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_gaussian_float16_2) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_float16_2,
-                           box_with_nms_limit::is_ignored_float16_2,
-                           box_with_nms_limit::get_examples_float16_2());
+                           box_with_nms_limit_gaussian::createTestModel_float16_2,
+                           box_with_nms_limit_gaussian::is_ignored_float16_2,
+                           box_with_nms_limit_gaussian::get_examples_float16_2());
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_float16_2) {
-  const Model model = box_with_nms_limit::createTestModel_float16_2();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_float16_2());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_float16_2) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_float16_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_float16_2());
   validateModel(model);
   validateRequests(model, requests);
 }
 
 
-TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_quant8_2) {
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_gaussian_quant8_2) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_quant8_2,
-                           box_with_nms_limit::is_ignored_quant8_2,
-                           box_with_nms_limit::get_examples_quant8_2());
+                           box_with_nms_limit_gaussian::createTestModel_quant8_2,
+                           box_with_nms_limit_gaussian::is_ignored_quant8_2,
+                           box_with_nms_limit_gaussian::get_examples_quant8_2());
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_quant8_2) {
-  const Model model = box_with_nms_limit::createTestModel_quant8_2();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_quant8_2());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_quant8_2) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_quant8_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_quant8_2());
   validateModel(model);
   validateRequests(model, requests);
 }
 
 
 #ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_2) {
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_2) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_dynamic_output_shape_2,
-                           box_with_nms_limit::is_ignored_dynamic_output_shape_2,
-                           box_with_nms_limit::get_examples_dynamic_output_shape_2(), true);
+                           box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_2,
+                           box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_2,
+                           box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_2(), true);
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_dynamic_output_shape_2) {
-  const Model model = box_with_nms_limit::createTestModel_dynamic_output_shape_2();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_dynamic_output_shape_2());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_dynamic_output_shape_2) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_2());
   validateModel(model);
   validateRequests(model, requests);
 }
@@ -4799,16 +4799,16 @@
 
 #endif
 #ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_relaxed_2) {
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_relaxed_2) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_dynamic_output_shape_relaxed_2,
-                           box_with_nms_limit::is_ignored_dynamic_output_shape_relaxed_2,
-                           box_with_nms_limit::get_examples_dynamic_output_shape_relaxed_2(), true);
+                           box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_relaxed_2,
+                           box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_relaxed_2,
+                           box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_relaxed_2(), true);
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_dynamic_output_shape_relaxed_2) {
-  const Model model = box_with_nms_limit::createTestModel_dynamic_output_shape_relaxed_2();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_dynamic_output_shape_relaxed_2());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_dynamic_output_shape_relaxed_2) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_relaxed_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_relaxed_2());
   validateModel(model);
   validateRequests(model, requests);
 }
@@ -4816,16 +4816,16 @@
 
 #endif
 #ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_float16_2) {
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_float16_2) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_dynamic_output_shape_float16_2,
-                           box_with_nms_limit::is_ignored_dynamic_output_shape_float16_2,
-                           box_with_nms_limit::get_examples_dynamic_output_shape_float16_2(), true);
+                           box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_float16_2,
+                           box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_float16_2,
+                           box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_float16_2(), true);
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_dynamic_output_shape_float16_2) {
-  const Model model = box_with_nms_limit::createTestModel_dynamic_output_shape_float16_2();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_dynamic_output_shape_float16_2());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_dynamic_output_shape_float16_2) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_float16_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_float16_2());
   validateModel(model);
   validateRequests(model, requests);
 }
@@ -4833,16 +4833,544 @@
 
 #endif
 #ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_quant8_2) {
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_quant8_2) {
   generated_tests::Execute(device,
-                           box_with_nms_limit::createTestModel_dynamic_output_shape_quant8_2,
-                           box_with_nms_limit::is_ignored_dynamic_output_shape_quant8_2,
-                           box_with_nms_limit::get_examples_dynamic_output_shape_quant8_2(), true);
+                           box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_quant8_2,
+                           box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_quant8_2,
+                           box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_quant8_2(), true);
 }
 
-TEST_F(ValidationTest, box_with_nms_limit_dynamic_output_shape_quant8_2) {
-  const Model model = box_with_nms_limit::createTestModel_dynamic_output_shape_quant8_2();
-  const std::vector<Request> requests = createRequests(box_with_nms_limit::get_examples_dynamic_output_shape_quant8_2());
+TEST_F(ValidationTest, box_with_nms_limit_gaussian_dynamic_output_shape_quant8_2) {
+  const Model model = box_with_nms_limit_gaussian::createTestModel_dynamic_output_shape_quant8_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_quant8_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+// Generated from: box_with_nms_limit_hard.mod.py.
+namespace box_with_nms_limit_hard {
+// Generated box_with_nms_limit_hard test
+#include "examples/box_with_nms_limit_hard.example.cpp"
+// Generated model constructor
+#include "vts_models/box_with_nms_limit_hard.model.cpp"
+} // namespace box_with_nms_limit_hard
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_hard) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel,
+                           box_with_nms_limit_hard::is_ignored,
+                           box_with_nms_limit_hard::get_examples());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard) {
+  const Model model = box_with_nms_limit_hard::createTestModel();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_hard_relaxed) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_relaxed,
+                           box_with_nms_limit_hard::is_ignored_relaxed,
+                           box_with_nms_limit_hard::get_examples_relaxed());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_relaxed) {
+  const Model model = box_with_nms_limit_hard::createTestModel_relaxed();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_relaxed());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_hard_float16) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_float16,
+                           box_with_nms_limit_hard::is_ignored_float16,
+                           box_with_nms_limit_hard::get_examples_float16());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_float16) {
+  const Model model = box_with_nms_limit_hard::createTestModel_float16();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_float16());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_hard_quant8) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_quant8,
+                           box_with_nms_limit_hard::is_ignored_quant8,
+                           box_with_nms_limit_hard::get_examples_quant8());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_quant8) {
+  const Model model = box_with_nms_limit_hard::createTestModel_quant8();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_quant8());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_dynamic_output_shape,
+                           box_with_nms_limit_hard::is_ignored_dynamic_output_shape,
+                           box_with_nms_limit_hard::get_examples_dynamic_output_shape(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_dynamic_output_shape) {
+  const Model model = box_with_nms_limit_hard::createTestModel_dynamic_output_shape();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_dynamic_output_shape());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_relaxed) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_dynamic_output_shape_relaxed,
+                           box_with_nms_limit_hard::is_ignored_dynamic_output_shape_relaxed,
+                           box_with_nms_limit_hard::get_examples_dynamic_output_shape_relaxed(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_dynamic_output_shape_relaxed) {
+  const Model model = box_with_nms_limit_hard::createTestModel_dynamic_output_shape_relaxed();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_dynamic_output_shape_relaxed());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_float16) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_dynamic_output_shape_float16,
+                           box_with_nms_limit_hard::is_ignored_dynamic_output_shape_float16,
+                           box_with_nms_limit_hard::get_examples_dynamic_output_shape_float16(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_dynamic_output_shape_float16) {
+  const Model model = box_with_nms_limit_hard::createTestModel_dynamic_output_shape_float16();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_dynamic_output_shape_float16());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_quant8) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_dynamic_output_shape_quant8,
+                           box_with_nms_limit_hard::is_ignored_dynamic_output_shape_quant8,
+                           box_with_nms_limit_hard::get_examples_dynamic_output_shape_quant8(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_dynamic_output_shape_quant8) {
+  const Model model = box_with_nms_limit_hard::createTestModel_dynamic_output_shape_quant8();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_dynamic_output_shape_quant8());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_hard_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_2,
+                           box_with_nms_limit_hard::is_ignored_2,
+                           box_with_nms_limit_hard::get_examples_2());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_2) {
+  const Model model = box_with_nms_limit_hard::createTestModel_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_hard_relaxed_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_relaxed_2,
+                           box_with_nms_limit_hard::is_ignored_relaxed_2,
+                           box_with_nms_limit_hard::get_examples_relaxed_2());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_relaxed_2) {
+  const Model model = box_with_nms_limit_hard::createTestModel_relaxed_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_relaxed_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_hard_float16_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_float16_2,
+                           box_with_nms_limit_hard::is_ignored_float16_2,
+                           box_with_nms_limit_hard::get_examples_float16_2());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_float16_2) {
+  const Model model = box_with_nms_limit_hard::createTestModel_float16_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_float16_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_hard_quant8_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_quant8_2,
+                           box_with_nms_limit_hard::is_ignored_quant8_2,
+                           box_with_nms_limit_hard::get_examples_quant8_2());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_quant8_2) {
+  const Model model = box_with_nms_limit_hard::createTestModel_quant8_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_quant8_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_dynamic_output_shape_2,
+                           box_with_nms_limit_hard::is_ignored_dynamic_output_shape_2,
+                           box_with_nms_limit_hard::get_examples_dynamic_output_shape_2(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_dynamic_output_shape_2) {
+  const Model model = box_with_nms_limit_hard::createTestModel_dynamic_output_shape_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_dynamic_output_shape_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_relaxed_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_dynamic_output_shape_relaxed_2,
+                           box_with_nms_limit_hard::is_ignored_dynamic_output_shape_relaxed_2,
+                           box_with_nms_limit_hard::get_examples_dynamic_output_shape_relaxed_2(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_dynamic_output_shape_relaxed_2) {
+  const Model model = box_with_nms_limit_hard::createTestModel_dynamic_output_shape_relaxed_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_dynamic_output_shape_relaxed_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_float16_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_dynamic_output_shape_float16_2,
+                           box_with_nms_limit_hard::is_ignored_dynamic_output_shape_float16_2,
+                           box_with_nms_limit_hard::get_examples_dynamic_output_shape_float16_2(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_dynamic_output_shape_float16_2) {
+  const Model model = box_with_nms_limit_hard::createTestModel_dynamic_output_shape_float16_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_dynamic_output_shape_float16_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_quant8_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_hard::createTestModel_dynamic_output_shape_quant8_2,
+                           box_with_nms_limit_hard::is_ignored_dynamic_output_shape_quant8_2,
+                           box_with_nms_limit_hard::get_examples_dynamic_output_shape_quant8_2(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_hard_dynamic_output_shape_quant8_2) {
+  const Model model = box_with_nms_limit_hard::createTestModel_dynamic_output_shape_quant8_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_hard::get_examples_dynamic_output_shape_quant8_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+// Generated from: box_with_nms_limit_linear.mod.py.
+namespace box_with_nms_limit_linear {
+// Generated box_with_nms_limit_linear test
+#include "examples/box_with_nms_limit_linear.example.cpp"
+// Generated model constructor
+#include "vts_models/box_with_nms_limit_linear.model.cpp"
+} // namespace box_with_nms_limit_linear
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_linear) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel,
+                           box_with_nms_limit_linear::is_ignored,
+                           box_with_nms_limit_linear::get_examples());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear) {
+  const Model model = box_with_nms_limit_linear::createTestModel();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_linear_relaxed) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_relaxed,
+                           box_with_nms_limit_linear::is_ignored_relaxed,
+                           box_with_nms_limit_linear::get_examples_relaxed());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_relaxed) {
+  const Model model = box_with_nms_limit_linear::createTestModel_relaxed();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_relaxed());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_linear_float16) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_float16,
+                           box_with_nms_limit_linear::is_ignored_float16,
+                           box_with_nms_limit_linear::get_examples_float16());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_float16) {
+  const Model model = box_with_nms_limit_linear::createTestModel_float16();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_float16());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_linear_quant8) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_quant8,
+                           box_with_nms_limit_linear::is_ignored_quant8,
+                           box_with_nms_limit_linear::get_examples_quant8());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_quant8) {
+  const Model model = box_with_nms_limit_linear::createTestModel_quant8();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_quant8());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_dynamic_output_shape,
+                           box_with_nms_limit_linear::is_ignored_dynamic_output_shape,
+                           box_with_nms_limit_linear::get_examples_dynamic_output_shape(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_dynamic_output_shape) {
+  const Model model = box_with_nms_limit_linear::createTestModel_dynamic_output_shape();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_dynamic_output_shape());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_relaxed) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_dynamic_output_shape_relaxed,
+                           box_with_nms_limit_linear::is_ignored_dynamic_output_shape_relaxed,
+                           box_with_nms_limit_linear::get_examples_dynamic_output_shape_relaxed(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_dynamic_output_shape_relaxed) {
+  const Model model = box_with_nms_limit_linear::createTestModel_dynamic_output_shape_relaxed();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_dynamic_output_shape_relaxed());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_float16) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_dynamic_output_shape_float16,
+                           box_with_nms_limit_linear::is_ignored_dynamic_output_shape_float16,
+                           box_with_nms_limit_linear::get_examples_dynamic_output_shape_float16(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_dynamic_output_shape_float16) {
+  const Model model = box_with_nms_limit_linear::createTestModel_dynamic_output_shape_float16();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_dynamic_output_shape_float16());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_quant8) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_dynamic_output_shape_quant8,
+                           box_with_nms_limit_linear::is_ignored_dynamic_output_shape_quant8,
+                           box_with_nms_limit_linear::get_examples_dynamic_output_shape_quant8(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_dynamic_output_shape_quant8) {
+  const Model model = box_with_nms_limit_linear::createTestModel_dynamic_output_shape_quant8();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_dynamic_output_shape_quant8());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_linear_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_2,
+                           box_with_nms_limit_linear::is_ignored_2,
+                           box_with_nms_limit_linear::get_examples_2());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_2) {
+  const Model model = box_with_nms_limit_linear::createTestModel_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_linear_relaxed_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_relaxed_2,
+                           box_with_nms_limit_linear::is_ignored_relaxed_2,
+                           box_with_nms_limit_linear::get_examples_relaxed_2());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_relaxed_2) {
+  const Model model = box_with_nms_limit_linear::createTestModel_relaxed_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_relaxed_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_linear_float16_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_float16_2,
+                           box_with_nms_limit_linear::is_ignored_float16_2,
+                           box_with_nms_limit_linear::get_examples_float16_2());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_float16_2) {
+  const Model model = box_with_nms_limit_linear::createTestModel_float16_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_float16_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+TEST_F(NeuralnetworksHidlTest, box_with_nms_limit_linear_quant8_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_quant8_2,
+                           box_with_nms_limit_linear::is_ignored_quant8_2,
+                           box_with_nms_limit_linear::get_examples_quant8_2());
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_quant8_2) {
+  const Model model = box_with_nms_limit_linear::createTestModel_quant8_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_quant8_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_dynamic_output_shape_2,
+                           box_with_nms_limit_linear::is_ignored_dynamic_output_shape_2,
+                           box_with_nms_limit_linear::get_examples_dynamic_output_shape_2(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_dynamic_output_shape_2) {
+  const Model model = box_with_nms_limit_linear::createTestModel_dynamic_output_shape_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_dynamic_output_shape_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_relaxed_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_dynamic_output_shape_relaxed_2,
+                           box_with_nms_limit_linear::is_ignored_dynamic_output_shape_relaxed_2,
+                           box_with_nms_limit_linear::get_examples_dynamic_output_shape_relaxed_2(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_dynamic_output_shape_relaxed_2) {
+  const Model model = box_with_nms_limit_linear::createTestModel_dynamic_output_shape_relaxed_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_dynamic_output_shape_relaxed_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_float16_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_dynamic_output_shape_float16_2,
+                           box_with_nms_limit_linear::is_ignored_dynamic_output_shape_float16_2,
+                           box_with_nms_limit_linear::get_examples_dynamic_output_shape_float16_2(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_dynamic_output_shape_float16_2) {
+  const Model model = box_with_nms_limit_linear::createTestModel_dynamic_output_shape_float16_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_dynamic_output_shape_float16_2());
+  validateModel(model);
+  validateRequests(model, requests);
+}
+
+
+#endif
+#ifdef NN_TEST_DYNAMIC_OUTPUT_SHAPE
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_quant8_2) {
+  generated_tests::Execute(device,
+                           box_with_nms_limit_linear::createTestModel_dynamic_output_shape_quant8_2,
+                           box_with_nms_limit_linear::is_ignored_dynamic_output_shape_quant8_2,
+                           box_with_nms_limit_linear::get_examples_dynamic_output_shape_quant8_2(), true);
+}
+
+TEST_F(ValidationTest, box_with_nms_limit_linear_dynamic_output_shape_quant8_2) {
+  const Model model = box_with_nms_limit_linear::createTestModel_dynamic_output_shape_quant8_2();
+  const std::vector<Request> requests = createRequests(box_with_nms_limit_linear::get_examples_dynamic_output_shape_quant8_2());
   validateModel(model);
   validateRequests(model, requests);
 }
diff --git a/runtime/test/generated/examples/box_with_nms_limit.example.cpp b/runtime/test/generated/examples/box_with_nms_limit_gaussian.example.cpp
similarity index 84%
copy from runtime/test/generated/examples/box_with_nms_limit.example.cpp
copy to runtime/test/generated/examples/box_with_nms_limit_gaussian.example.cpp
index ae5e945..d742c6b 100644
--- a/runtime/test/generated/examples/box_with_nms_limit.example.cpp
+++ b/runtime/test/generated/examples/box_with_nms_limit_gaussian.example.cpp
@@ -1,5 +1,5 @@
 // clang-format off
-// Generated file (from: box_with_nms_limit.mod.py). Do not edit
+// Generated file (from: box_with_nms_limit_gaussian.mod.py). Do not edit
 std::vector<MixedTypedExample>& get_examples() {
 static std::vector<MixedTypedExample> examples = {
 // Begin of an example
@@ -31,11 +31,11 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {18}}, {1, {18, 4}}, {2, {18}}, {3, {18}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f}}},
+  .float32Operands = {{0, {0.95f, 0.7879927f, 0.52485234f, 0.47400165f, 0.95f, 0.6894936f, 0.4812244f, 0.42367333f, 0.95f, 0.89983034f, 0.7879927f, 0.52485234f, 0.47400165f, 0.95f, 0.8f, 0.6894936f, 0.4811337f, 0.42367333f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 6.0f, 6.0f, 16.0f, 16.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 7.0f, 7.0f, 17.0f, 17.0f, 3.0f, 3.0f, 13.0f, 13.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 1.0f, 1.0f, 11.0f, 11.0f, 5.0f, 5.0f, 15.0f, 15.0f}}},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
@@ -88,11 +88,11 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {18}}, {1, {18, 4}}, {2, {18}}, {3, {18}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f}}},
+  .float32Operands = {{0, {0.95f, 0.7879927f, 0.52485234f, 0.47400165f, 0.95f, 0.6894936f, 0.4812244f, 0.42367333f, 0.95f, 0.89983034f, 0.7879927f, 0.52485234f, 0.47400165f, 0.95f, 0.8f, 0.6894936f, 0.4811337f, 0.42367333f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 6.0f, 6.0f, 16.0f, 16.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 7.0f, 7.0f, 17.0f, 17.0f, 3.0f, 3.0f, 13.0f, 13.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 1.0f, 1.0f, 11.0f, 11.0f, 5.0f, 5.0f, 15.0f, 15.0f}}},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
@@ -145,17 +145,17 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {18}}, {1, {18, 4}}, {2, {18}}, {3, {18}}},
   // int -> FLOAT32 map
   .float32Operands = {},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
-  .float16Operands = {{0, {0.949999988079071f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.699999988079071f, 0.949999988079071f, 0.8999999761581421f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.800000011920929f, 0.699999988079071f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f}}},
+  .float16Operands = {{0, {0.949999988079071f, 0.7879927158355713f, 0.5248523354530334f, 0.4740016460418701f, 0.949999988079071f, 0.6894935965538025f, 0.48122438788414f, 0.4236733317375183f, 0.949999988079071f, 0.8998303413391113f, 0.7879927158355713f, 0.5248523354530334f, 0.4740016460418701f, 0.949999988079071f, 0.800000011920929f, 0.6894935965538025f, 0.48113369941711426f, 0.4236733317375183f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 6.0f, 6.0f, 16.0f, 16.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 7.0f, 7.0f, 17.0f, 17.0f, 3.0f, 3.0f, 13.0f, 13.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 1.0f, 1.0f, 11.0f, 11.0f, 5.0f, 5.0f, 15.0f, 15.0f}}},
   // int -> BOOL8 map
   .bool8Operands = {},
   // int -> QUANT8_SYMM_PER_CHANNEL map
@@ -202,13 +202,13 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {18}}, {1, {18, 4}}, {2, {18}}, {3, {18}}},
   // int -> FLOAT32 map
   .float32Operands = {},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
-  .quant8AsymmOperands = {{0, {95, 85, 75, 95, 70, 95, 90, 85, 75, 95, 80, 70}}},
+  .quant8AsymmOperands = {{0, {95, 79, 52, 47, 95, 69, 48, 42, 95, 90, 79, 52, 47, 95, 80, 69, 48, 42}}},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
@@ -218,7 +218,7 @@
   // int -> QUANT8_SYMM_PER_CHANNEL map
   .quant8ChannelOperands = {},
   // int -> QUANT16_ASYMM map
-  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 32, 32, 112, 112, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 8, 8, 88, 88, 0, 0, 16, 16, 40, 40, 120, 120, 72, 72, 152, 152, 24, 24, 104, 104, 0, 0, 16, 16, 72, 72, 152, 152}}},
+  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 48, 48, 128, 128, 16, 16, 96, 96, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 0, 0, 80, 80, 32, 32, 112, 112, 8, 8, 88, 88, 0, 0, 16, 16, 56, 56, 136, 136, 24, 24, 104, 104, 72, 72, 152, 152, 24, 24, 104, 104, 0, 0, 16, 16, 72, 72, 152, 152, 8, 8, 88, 88, 40, 40, 120, 120}}},
   // int -> QUANT8_SYMM map
   .quant8SymmOperands = {},
 }
@@ -259,11 +259,11 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {18}}, {1, {18, 4}}, {2, {18}}, {3, {18}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f}}},
+  .float32Operands = {{0, {0.95f, 0.7879927f, 0.52485234f, 0.47400165f, 0.95f, 0.6894936f, 0.4812244f, 0.42367333f, 0.95f, 0.89983034f, 0.7879927f, 0.52485234f, 0.47400165f, 0.95f, 0.8f, 0.6894936f, 0.4811337f, 0.42367333f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 6.0f, 6.0f, 16.0f, 16.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 7.0f, 7.0f, 17.0f, 17.0f, 3.0f, 3.0f, 13.0f, 13.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 1.0f, 1.0f, 11.0f, 11.0f, 5.0f, 5.0f, 15.0f, 15.0f}}},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
@@ -316,11 +316,11 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {18}}, {1, {18, 4}}, {2, {18}}, {3, {18}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f}}},
+  .float32Operands = {{0, {0.95f, 0.7879927f, 0.52485234f, 0.47400165f, 0.95f, 0.6894936f, 0.4812244f, 0.42367333f, 0.95f, 0.89983034f, 0.7879927f, 0.52485234f, 0.47400165f, 0.95f, 0.8f, 0.6894936f, 0.4811337f, 0.42367333f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 6.0f, 6.0f, 16.0f, 16.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 7.0f, 7.0f, 17.0f, 17.0f, 3.0f, 3.0f, 13.0f, 13.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 1.0f, 1.0f, 11.0f, 11.0f, 5.0f, 5.0f, 15.0f, 15.0f}}},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
@@ -373,17 +373,17 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {18}}, {1, {18, 4}}, {2, {18}}, {3, {18}}},
   // int -> FLOAT32 map
   .float32Operands = {},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
-  .float16Operands = {{0, {0.949999988079071f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.699999988079071f, 0.949999988079071f, 0.8999999761581421f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.800000011920929f, 0.699999988079071f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f}}},
+  .float16Operands = {{0, {0.949999988079071f, 0.7879927158355713f, 0.5248523354530334f, 0.4740016460418701f, 0.949999988079071f, 0.6894935965538025f, 0.48122438788414f, 0.4236733317375183f, 0.949999988079071f, 0.8998303413391113f, 0.7879927158355713f, 0.5248523354530334f, 0.4740016460418701f, 0.949999988079071f, 0.800000011920929f, 0.6894935965538025f, 0.48113369941711426f, 0.4236733317375183f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 6.0f, 6.0f, 16.0f, 16.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 7.0f, 7.0f, 17.0f, 17.0f, 3.0f, 3.0f, 13.0f, 13.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 1.0f, 1.0f, 11.0f, 11.0f, 5.0f, 5.0f, 15.0f, 15.0f}}},
   // int -> BOOL8 map
   .bool8Operands = {},
   // int -> QUANT8_SYMM_PER_CHANNEL map
@@ -430,13 +430,13 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {18}}, {1, {18, 4}}, {2, {18}}, {3, {18}}},
   // int -> FLOAT32 map
   .float32Operands = {},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
-  .quant8AsymmOperands = {{0, {95, 85, 75, 95, 70, 95, 90, 85, 75, 95, 80, 70}}},
+  .quant8AsymmOperands = {{0, {95, 79, 52, 47, 95, 69, 48, 42, 95, 90, 79, 52, 47, 95, 80, 69, 48, 42}}},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
@@ -446,7 +446,7 @@
   // int -> QUANT8_SYMM_PER_CHANNEL map
   .quant8ChannelOperands = {},
   // int -> QUANT16_ASYMM map
-  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 32, 32, 112, 112, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 8, 8, 88, 88, 0, 0, 16, 16, 40, 40, 120, 120, 72, 72, 152, 152, 24, 24, 104, 104, 0, 0, 16, 16, 72, 72, 152, 152}}},
+  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 48, 48, 128, 128, 16, 16, 96, 96, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 0, 0, 80, 80, 32, 32, 112, 112, 8, 8, 88, 88, 0, 0, 16, 16, 56, 56, 136, 136, 24, 24, 104, 104, 72, 72, 152, 152, 24, 24, 104, 104, 0, 0, 16, 16, 72, 72, 152, 152, 8, 8, 88, 88, 40, 40, 120, 120}}},
   // int -> QUANT8_SYMM map
   .quant8SymmOperands = {},
 }
@@ -489,7 +489,7 @@
   // int -> Dimensions map
   .operandDimensions = {{0, {10}}, {1, {10, 4}}, {2, {10}}, {3, {10}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.95f, 0.8f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
+  .float32Operands = {{0, {0.95f, 0.7879927f, 0.52485234f, 0.95f, 0.6894936f, 0.95f, 0.89983034f, 0.7879927f, 0.95f, 0.8f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 6.0f, 6.0f, 16.0f, 16.0f, 2.0f, 2.0f, 12.0f, 12.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 7.0f, 7.0f, 17.0f, 17.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
   // int -> INT32 map
   .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
@@ -546,7 +546,7 @@
   // int -> Dimensions map
   .operandDimensions = {{0, {10}}, {1, {10, 4}}, {2, {10}}, {3, {10}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.95f, 0.8f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
+  .float32Operands = {{0, {0.95f, 0.7879927f, 0.52485234f, 0.95f, 0.6894936f, 0.95f, 0.89983034f, 0.7879927f, 0.95f, 0.8f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 6.0f, 6.0f, 16.0f, 16.0f, 2.0f, 2.0f, 12.0f, 12.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 7.0f, 7.0f, 17.0f, 17.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
   // int -> INT32 map
   .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
@@ -611,7 +611,7 @@
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
-  .float16Operands = {{0, {0.949999988079071f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.699999988079071f, 0.949999988079071f, 0.8999999761581421f, 0.8500000238418579f, 0.949999988079071f, 0.800000011920929f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
+  .float16Operands = {{0, {0.949999988079071f, 0.7879927158355713f, 0.5248523354530334f, 0.949999988079071f, 0.6894935965538025f, 0.949999988079071f, 0.8998303413391113f, 0.7879927158355713f, 0.949999988079071f, 0.800000011920929f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 6.0f, 6.0f, 16.0f, 16.0f, 2.0f, 2.0f, 12.0f, 12.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 7.0f, 7.0f, 17.0f, 17.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
   // int -> BOOL8 map
   .bool8Operands = {},
   // int -> QUANT8_SYMM_PER_CHANNEL map
@@ -664,7 +664,7 @@
   // int -> INT32 map
   .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
-  .quant8AsymmOperands = {{0, {223, 213, 203, 223, 198, 223, 218, 213, 223, 208}}},
+  .quant8AsymmOperands = {{0, {223, 207, 180, 223, 197, 223, 218, 207, 223, 208}}},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
@@ -674,7 +674,7 @@
   // int -> QUANT8_SYMM_PER_CHANNEL map
   .quant8ChannelOperands = {},
   // int -> QUANT16_ASYMM map
-  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 32, 32, 112, 112, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 8, 8, 88, 88, 0, 0, 16, 16, 40, 40, 120, 120, 24, 24, 104, 104, 0, 0, 16, 16}}},
+  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 48, 48, 128, 128, 16, 16, 96, 96, 16, 16, 96, 96, 64, 64, 144, 144, 8, 8, 88, 88, 0, 0, 16, 16, 56, 56, 136, 136, 24, 24, 104, 104, 0, 0, 16, 16}}},
   // int -> QUANT8_SYMM map
   .quant8SymmOperands = {},
 }
@@ -717,7 +717,7 @@
   // int -> Dimensions map
   .operandDimensions = {{0, {10}}, {1, {10, 4}}, {2, {10}}, {3, {10}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.95f, 0.8f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
+  .float32Operands = {{0, {0.95f, 0.7879927f, 0.52485234f, 0.95f, 0.6894936f, 0.95f, 0.89983034f, 0.7879927f, 0.95f, 0.8f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 6.0f, 6.0f, 16.0f, 16.0f, 2.0f, 2.0f, 12.0f, 12.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 7.0f, 7.0f, 17.0f, 17.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
   // int -> INT32 map
   .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
@@ -774,7 +774,7 @@
   // int -> Dimensions map
   .operandDimensions = {{0, {10}}, {1, {10, 4}}, {2, {10}}, {3, {10}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.95f, 0.8f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
+  .float32Operands = {{0, {0.95f, 0.7879927f, 0.52485234f, 0.95f, 0.6894936f, 0.95f, 0.89983034f, 0.7879927f, 0.95f, 0.8f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 6.0f, 6.0f, 16.0f, 16.0f, 2.0f, 2.0f, 12.0f, 12.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 7.0f, 7.0f, 17.0f, 17.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
   // int -> INT32 map
   .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
@@ -839,7 +839,7 @@
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
-  .float16Operands = {{0, {0.949999988079071f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.699999988079071f, 0.949999988079071f, 0.8999999761581421f, 0.8500000238418579f, 0.949999988079071f, 0.800000011920929f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
+  .float16Operands = {{0, {0.949999988079071f, 0.7879927158355713f, 0.5248523354530334f, 0.949999988079071f, 0.6894935965538025f, 0.949999988079071f, 0.8998303413391113f, 0.7879927158355713f, 0.949999988079071f, 0.800000011920929f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 6.0f, 6.0f, 16.0f, 16.0f, 2.0f, 2.0f, 12.0f, 12.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 7.0f, 7.0f, 17.0f, 17.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
   // int -> BOOL8 map
   .bool8Operands = {},
   // int -> QUANT8_SYMM_PER_CHANNEL map
@@ -892,7 +892,7 @@
   // int -> INT32 map
   .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
-  .quant8AsymmOperands = {{0, {223, 213, 203, 223, 198, 223, 218, 213, 223, 208}}},
+  .quant8AsymmOperands = {{0, {223, 207, 180, 223, 197, 223, 218, 207, 223, 208}}},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
@@ -902,7 +902,7 @@
   // int -> QUANT8_SYMM_PER_CHANNEL map
   .quant8ChannelOperands = {},
   // int -> QUANT16_ASYMM map
-  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 32, 32, 112, 112, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 8, 8, 88, 88, 0, 0, 16, 16, 40, 40, 120, 120, 24, 24, 104, 104, 0, 0, 16, 16}}},
+  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 48, 48, 128, 128, 16, 16, 96, 96, 16, 16, 96, 96, 64, 64, 144, 144, 8, 8, 88, 88, 0, 0, 16, 16, 56, 56, 136, 136, 24, 24, 104, 104, 0, 0, 16, 16}}},
   // int -> QUANT8_SYMM map
   .quant8SymmOperands = {},
 }
diff --git a/runtime/test/generated/examples/box_with_nms_limit.example.cpp b/runtime/test/generated/examples/box_with_nms_limit_hard.example.cpp
similarity index 99%
rename from runtime/test/generated/examples/box_with_nms_limit.example.cpp
rename to runtime/test/generated/examples/box_with_nms_limit_hard.example.cpp
index ae5e945..7a91423 100644
--- a/runtime/test/generated/examples/box_with_nms_limit.example.cpp
+++ b/runtime/test/generated/examples/box_with_nms_limit_hard.example.cpp
@@ -1,5 +1,5 @@
 // clang-format off
-// Generated file (from: box_with_nms_limit.mod.py). Do not edit
+// Generated file (from: box_with_nms_limit_hard.mod.py). Do not edit
 std::vector<MixedTypedExample>& get_examples() {
 static std::vector<MixedTypedExample> examples = {
 // Begin of an example
diff --git a/runtime/test/generated/examples/box_with_nms_limit.example.cpp b/runtime/test/generated/examples/box_with_nms_limit_linear.example.cpp
similarity index 82%
copy from runtime/test/generated/examples/box_with_nms_limit.example.cpp
copy to runtime/test/generated/examples/box_with_nms_limit_linear.example.cpp
index ae5e945..03b5328 100644
--- a/runtime/test/generated/examples/box_with_nms_limit.example.cpp
+++ b/runtime/test/generated/examples/box_with_nms_limit_linear.example.cpp
@@ -1,5 +1,5 @@
 // clang-format off
-// Generated file (from: box_with_nms_limit.mod.py). Do not edit
+// Generated file (from: box_with_nms_limit_linear.mod.py). Do not edit
 std::vector<MixedTypedExample>& get_examples() {
 static std::vector<MixedTypedExample> examples = {
 // Begin of an example
@@ -31,11 +31,11 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {16}}, {1, {16, 4}}, {2, {16}}, {3, {16}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f}}},
+  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.42352945f, 0.39705884f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f, 0.42352945f, 0.39705884f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 4.0f, 4.0f, 14.0f, 14.0f, 0.0f, 0.0f, 10.0f, 10.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 5.0f, 5.0f, 15.0f, 15.0f, 1.0f, 1.0f, 11.0f, 11.0f}}},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
@@ -88,11 +88,11 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {16}}, {1, {16, 4}}, {2, {16}}, {3, {16}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f}}},
+  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.42352945f, 0.39705884f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f, 0.42352945f, 0.39705884f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 4.0f, 4.0f, 14.0f, 14.0f, 0.0f, 0.0f, 10.0f, 10.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 5.0f, 5.0f, 15.0f, 15.0f, 1.0f, 1.0f, 11.0f, 11.0f}}},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
@@ -145,17 +145,17 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {16}}, {1, {16, 4}}, {2, {16}}, {3, {16}}},
   // int -> FLOAT32 map
   .float32Operands = {},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
-  .float16Operands = {{0, {0.949999988079071f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.699999988079071f, 0.949999988079071f, 0.8999999761581421f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.800000011920929f, 0.699999988079071f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f}}},
+  .float16Operands = {{0, {0.949999988079071f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.699999988079071f, 0.4235294461250305f, 0.3970588445663452f, 0.949999988079071f, 0.8999999761581421f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.800000011920929f, 0.699999988079071f, 0.4235294461250305f, 0.3970588445663452f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 4.0f, 4.0f, 14.0f, 14.0f, 0.0f, 0.0f, 10.0f, 10.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 5.0f, 5.0f, 15.0f, 15.0f, 1.0f, 1.0f, 11.0f, 11.0f}}},
   // int -> BOOL8 map
   .bool8Operands = {},
   // int -> QUANT8_SYMM_PER_CHANNEL map
@@ -202,13 +202,13 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {16}}, {1, {16, 4}}, {2, {16}}, {3, {16}}},
   // int -> FLOAT32 map
   .float32Operands = {},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
-  .quant8AsymmOperands = {{0, {95, 85, 75, 95, 70, 95, 90, 85, 75, 95, 80, 70}}},
+  .quant8AsymmOperands = {{0, {95, 85, 75, 95, 70, 42, 40, 95, 90, 85, 75, 95, 80, 70, 42, 40}}},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
@@ -218,7 +218,7 @@
   // int -> QUANT8_SYMM_PER_CHANNEL map
   .quant8ChannelOperands = {},
   // int -> QUANT16_ASYMM map
-  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 32, 32, 112, 112, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 8, 8, 88, 88, 0, 0, 16, 16, 40, 40, 120, 120, 72, 72, 152, 152, 24, 24, 104, 104, 0, 0, 16, 16, 72, 72, 152, 152}}},
+  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 32, 32, 112, 112, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 32, 32, 112, 112, 0, 0, 80, 80, 8, 8, 88, 88, 0, 0, 16, 16, 40, 40, 120, 120, 72, 72, 152, 152, 24, 24, 104, 104, 0, 0, 16, 16, 72, 72, 152, 152, 40, 40, 120, 120, 8, 8, 88, 88}}},
   // int -> QUANT8_SYMM map
   .quant8SymmOperands = {},
 }
@@ -259,11 +259,11 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {16}}, {1, {16, 4}}, {2, {16}}, {3, {16}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f}}},
+  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.42352945f, 0.39705884f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f, 0.42352945f, 0.39705884f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 4.0f, 4.0f, 14.0f, 14.0f, 0.0f, 0.0f, 10.0f, 10.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 5.0f, 5.0f, 15.0f, 15.0f, 1.0f, 1.0f, 11.0f, 11.0f}}},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
@@ -316,11 +316,11 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {16}}, {1, {16, 4}}, {2, {16}}, {3, {16}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f}}},
+  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.42352945f, 0.39705884f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f, 0.42352945f, 0.39705884f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 4.0f, 4.0f, 14.0f, 14.0f, 0.0f, 0.0f, 10.0f, 10.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 5.0f, 5.0f, 15.0f, 15.0f, 1.0f, 1.0f, 11.0f, 11.0f}}},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
@@ -373,17 +373,17 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {16}}, {1, {16, 4}}, {2, {16}}, {3, {16}}},
   // int -> FLOAT32 map
   .float32Operands = {},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
-  .float16Operands = {{0, {0.949999988079071f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.699999988079071f, 0.949999988079071f, 0.8999999761581421f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.800000011920929f, 0.699999988079071f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f}}},
+  .float16Operands = {{0, {0.949999988079071f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.699999988079071f, 0.4235294461250305f, 0.3970588445663452f, 0.949999988079071f, 0.8999999761581421f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.800000011920929f, 0.699999988079071f, 0.4235294461250305f, 0.3970588445663452f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 4.0f, 4.0f, 14.0f, 14.0f, 0.0f, 0.0f, 10.0f, 10.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 5.0f, 5.0f, 15.0f, 15.0f, 1.0f, 1.0f, 11.0f, 11.0f}}},
   // int -> BOOL8 map
   .bool8Operands = {},
   // int -> QUANT8_SYMM_PER_CHANNEL map
@@ -430,13 +430,13 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {12}}, {1, {12, 4}}, {2, {12}}, {3, {12}}},
+  .operandDimensions = {{0, {16}}, {1, {16, 4}}, {2, {16}}, {3, {16}}},
   // int -> FLOAT32 map
   .float32Operands = {},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2}}, {3, {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}}},
   // int -> QUANT8_ASYMM map
-  .quant8AsymmOperands = {{0, {95, 85, 75, 95, 70, 95, 90, 85, 75, 95, 80, 70}}},
+  .quant8AsymmOperands = {{0, {95, 85, 75, 95, 70, 42, 40, 95, 90, 85, 75, 95, 80, 70, 42, 40}}},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
@@ -446,7 +446,7 @@
   // int -> QUANT8_SYMM_PER_CHANNEL map
   .quant8ChannelOperands = {},
   // int -> QUANT16_ASYMM map
-  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 32, 32, 112, 112, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 8, 8, 88, 88, 0, 0, 16, 16, 40, 40, 120, 120, 72, 72, 152, 152, 24, 24, 104, 104, 0, 0, 16, 16, 72, 72, 152, 152}}},
+  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 32, 32, 112, 112, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 32, 32, 112, 112, 0, 0, 80, 80, 8, 8, 88, 88, 0, 0, 16, 16, 40, 40, 120, 120, 72, 72, 152, 152, 24, 24, 104, 104, 0, 0, 16, 16, 72, 72, 152, 152, 40, 40, 120, 120, 8, 8, 88, 88}}},
   // int -> QUANT8_SYMM map
   .quant8SymmOperands = {},
 }
@@ -487,11 +487,11 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {10}}, {1, {10, 4}}, {2, {10}}, {3, {10}}},
+  .operandDimensions = {{0, {15}}, {1, {15, 4}}, {2, {15}}, {3, {15}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.95f, 0.8f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
+  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.42352945f, 0.39705884f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f, 0.42352945f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 4.0f, 4.0f, 14.0f, 14.0f, 0.0f, 0.0f, 10.0f, 10.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 5.0f, 5.0f, 15.0f, 15.0f}}},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2}}, {3, {1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
@@ -544,11 +544,11 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {10}}, {1, {10, 4}}, {2, {10}}, {3, {10}}},
+  .operandDimensions = {{0, {15}}, {1, {15, 4}}, {2, {15}}, {3, {15}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.95f, 0.8f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
+  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.42352945f, 0.39705884f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f, 0.42352945f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 4.0f, 4.0f, 14.0f, 14.0f, 0.0f, 0.0f, 10.0f, 10.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 5.0f, 5.0f, 15.0f, 15.0f}}},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2}}, {3, {1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
@@ -601,17 +601,17 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {10}}, {1, {10, 4}}, {2, {10}}, {3, {10}}},
+  .operandDimensions = {{0, {15}}, {1, {15, 4}}, {2, {15}}, {3, {15}}},
   // int -> FLOAT32 map
   .float32Operands = {},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2}}, {3, {1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
-  .float16Operands = {{0, {0.949999988079071f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.699999988079071f, 0.949999988079071f, 0.8999999761581421f, 0.8500000238418579f, 0.949999988079071f, 0.800000011920929f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
+  .float16Operands = {{0, {0.949999988079071f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.699999988079071f, 0.4235294461250305f, 0.3970588445663452f, 0.949999988079071f, 0.8999999761581421f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.800000011920929f, 0.699999988079071f, 0.4235294461250305f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 4.0f, 4.0f, 14.0f, 14.0f, 0.0f, 0.0f, 10.0f, 10.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 5.0f, 5.0f, 15.0f, 15.0f}}},
   // int -> BOOL8 map
   .bool8Operands = {},
   // int -> QUANT8_SYMM_PER_CHANNEL map
@@ -658,13 +658,13 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {10}}, {1, {10, 4}}, {2, {10}}, {3, {10}}},
+  .operandDimensions = {{0, {15}}, {1, {15, 4}}, {2, {15}}, {3, {15}}},
   // int -> FLOAT32 map
   .float32Operands = {},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2}}, {3, {1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
-  .quant8AsymmOperands = {{0, {223, 213, 203, 223, 198, 223, 218, 213, 223, 208}}},
+  .quant8AsymmOperands = {{0, {223, 213, 203, 223, 198, 170, 168, 223, 218, 213, 203, 223, 208, 198, 170}}},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
@@ -674,7 +674,7 @@
   // int -> QUANT8_SYMM_PER_CHANNEL map
   .quant8ChannelOperands = {},
   // int -> QUANT16_ASYMM map
-  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 32, 32, 112, 112, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 8, 8, 88, 88, 0, 0, 16, 16, 40, 40, 120, 120, 24, 24, 104, 104, 0, 0, 16, 16}}},
+  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 32, 32, 112, 112, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 32, 32, 112, 112, 0, 0, 80, 80, 8, 8, 88, 88, 0, 0, 16, 16, 40, 40, 120, 120, 72, 72, 152, 152, 24, 24, 104, 104, 0, 0, 16, 16, 72, 72, 152, 152, 40, 40, 120, 120}}},
   // int -> QUANT8_SYMM map
   .quant8SymmOperands = {},
 }
@@ -715,11 +715,11 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {10}}, {1, {10, 4}}, {2, {10}}, {3, {10}}},
+  .operandDimensions = {{0, {15}}, {1, {15, 4}}, {2, {15}}, {3, {15}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.95f, 0.8f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
+  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.42352945f, 0.39705884f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f, 0.42352945f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 4.0f, 4.0f, 14.0f, 14.0f, 0.0f, 0.0f, 10.0f, 10.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 5.0f, 5.0f, 15.0f, 15.0f}}},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2}}, {3, {1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
@@ -772,11 +772,11 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {10}}, {1, {10, 4}}, {2, {10}}, {3, {10}}},
+  .operandDimensions = {{0, {15}}, {1, {15, 4}}, {2, {15}}, {3, {15}}},
   // int -> FLOAT32 map
-  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.95f, 0.9f, 0.85f, 0.95f, 0.8f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
+  .float32Operands = {{0, {0.95f, 0.85f, 0.75f, 0.95f, 0.7f, 0.42352945f, 0.39705884f, 0.95f, 0.9f, 0.85f, 0.75f, 0.95f, 0.8f, 0.7f, 0.42352945f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 4.0f, 4.0f, 14.0f, 14.0f, 0.0f, 0.0f, 10.0f, 10.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 5.0f, 5.0f, 15.0f, 15.0f}}},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2}}, {3, {1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
@@ -829,17 +829,17 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {10}}, {1, {10, 4}}, {2, {10}}, {3, {10}}},
+  .operandDimensions = {{0, {15}}, {1, {15, 4}}, {2, {15}}, {3, {15}}},
   // int -> FLOAT32 map
   .float32Operands = {},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2}}, {3, {1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
   .quant8AsymmOperands = {},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
-  .float16Operands = {{0, {0.949999988079071f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.699999988079071f, 0.949999988079071f, 0.8999999761581421f, 0.8500000238418579f, 0.949999988079071f, 0.800000011920929f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f}}},
+  .float16Operands = {{0, {0.949999988079071f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.699999988079071f, 0.4235294461250305f, 0.3970588445663452f, 0.949999988079071f, 0.8999999761581421f, 0.8500000238418579f, 0.75f, 0.949999988079071f, 0.800000011920929f, 0.699999988079071f, 0.4235294461250305f}}, {1, {0.0f, 0.0f, 10.0f, 10.0f, 4.0f, 4.0f, 14.0f, 14.0f, 8.0f, 8.0f, 18.0f, 18.0f, 2.0f, 2.0f, 12.0f, 12.0f, 8.0f, 8.0f, 18.0f, 18.0f, 4.0f, 4.0f, 14.0f, 14.0f, 0.0f, 0.0f, 10.0f, 10.0f, 1.0f, 1.0f, 11.0f, 11.0f, 0.0f, 0.0f, 2.0f, 2.0f, 5.0f, 5.0f, 15.0f, 15.0f, 9.0f, 9.0f, 19.0f, 19.0f, 3.0f, 3.0f, 13.0f, 13.0f, 0.0f, 0.0f, 2.0f, 2.0f, 9.0f, 9.0f, 19.0f, 19.0f, 5.0f, 5.0f, 15.0f, 15.0f}}},
   // int -> BOOL8 map
   .bool8Operands = {},
   // int -> QUANT8_SYMM_PER_CHANNEL map
@@ -886,13 +886,13 @@
 //Output(s)
 { // See tools/test_generator/include/TestHarness.h:MixedTyped
   // int -> Dimensions map
-  .operandDimensions = {{0, {10}}, {1, {10, 4}}, {2, {10}}, {3, {10}}},
+  .operandDimensions = {{0, {15}}, {1, {15, 4}}, {2, {15}}, {3, {15}}},
   // int -> FLOAT32 map
   .float32Operands = {},
   // int -> INT32 map
-  .int32Operands = {{2, {1, 1, 1, 2, 2, 1, 1, 1, 2, 2}}, {3, {1, 1, 1, 1, 1, 3, 3, 3, 3, 3}}},
+  .int32Operands = {{2, {1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2}}, {3, {1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3}}},
   // int -> QUANT8_ASYMM map
-  .quant8AsymmOperands = {{0, {223, 213, 203, 223, 198, 223, 218, 213, 223, 208}}},
+  .quant8AsymmOperands = {{0, {223, 213, 203, 223, 198, 170, 168, 223, 218, 213, 203, 223, 208, 198, 170}}},
   // int -> QUANT16_SYMM map
   .quant16SymmOperands = {},
   // int -> FLOAT16 map
@@ -902,7 +902,7 @@
   // int -> QUANT8_SYMM_PER_CHANNEL map
   .quant8ChannelOperands = {},
   // int -> QUANT16_ASYMM map
-  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 32, 32, 112, 112, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 8, 8, 88, 88, 0, 0, 16, 16, 40, 40, 120, 120, 24, 24, 104, 104, 0, 0, 16, 16}}},
+  .quant16AsymmOperands = {{1, {0, 0, 80, 80, 32, 32, 112, 112, 64, 64, 144, 144, 16, 16, 96, 96, 64, 64, 144, 144, 32, 32, 112, 112, 0, 0, 80, 80, 8, 8, 88, 88, 0, 0, 16, 16, 40, 40, 120, 120, 72, 72, 152, 152, 24, 24, 104, 104, 0, 0, 16, 16, 72, 72, 152, 152, 40, 40, 120, 120}}},
   // int -> QUANT8_SYMM map
   .quant8SymmOperands = {},
 }
diff --git a/runtime/test/generated/models/add_v1_2.model.cpp b/runtime/test/generated/models/add_v1_2.model.cpp
index 5ff25c2..6bb793c 100644
--- a/runtime/test/generated/models/add_v1_2.model.cpp
+++ b/runtime/test/generated/models/add_v1_2.model.cpp
@@ -118,23 +118,26 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto op = model->addOperand(&type14);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type13);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -145,31 +148,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -200,23 +209,26 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto op = model->addOperand(&type14);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type13);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -227,31 +239,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -284,23 +302,26 @@
   auto roi = model->addOperand(&type20);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type23);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type18);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type17);
   auto op = model->addOperand(&type19);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type17);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -311,31 +332,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t op_init[] = {138, 148, 158, 168};
   model->setOperandValue(op, op_init, sizeof(uint8_t) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -366,23 +393,26 @@
   auto roi = model->addOperand(&type28);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type27);
-  auto param2 = model->addOperand(&type27);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type27);
+  auto param5 = model->addOperand(&type27);
+  auto param6 = model->addOperand(&type27);
   auto scoresOut = model->addOperand(&type31);
   auto roiOut = model->addOperand(&type29);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type25);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type27);
-  auto param7 = model->addOperand(&type27);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type27);
+  auto param10 = model->addOperand(&type27);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type24);
   auto op = model->addOperand(&type26);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type24);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -393,31 +423,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(_Float16) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -449,23 +485,26 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto op = model->addOperand(&type14);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type32);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -476,31 +515,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -532,23 +577,26 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto op = model->addOperand(&type14);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type32);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -559,31 +607,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -617,23 +671,26 @@
   auto roi = model->addOperand(&type20);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type23);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type18);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type17);
   auto op = model->addOperand(&type19);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type33);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -644,31 +701,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t op_init[] = {138, 148, 158, 168};
   model->setOperandValue(op, op_init, sizeof(uint8_t) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -700,23 +763,26 @@
   auto roi = model->addOperand(&type28);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type27);
-  auto param2 = model->addOperand(&type27);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type27);
+  auto param5 = model->addOperand(&type27);
+  auto param6 = model->addOperand(&type27);
   auto scoresOut = model->addOperand(&type15);
   auto roiOut = model->addOperand(&type29);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type25);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type27);
-  auto param7 = model->addOperand(&type27);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type27);
+  auto param10 = model->addOperand(&type27);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type24);
   auto op = model->addOperand(&type26);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type34);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -727,31 +793,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(_Float16) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_ADD, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
diff --git a/runtime/test/generated/models/avg_pool_v1_2.model.cpp b/runtime/test/generated/models/avg_pool_v1_2.model.cpp
index e294f9e..80fcdbb 100644
--- a/runtime/test/generated/models/avg_pool_v1_2.model.cpp
+++ b/runtime/test/generated/models/avg_pool_v1_2.model.cpp
@@ -4066,30 +4066,33 @@
   auto roi = model->addOperand(&type10);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type15);
-  auto param44 = model->addOperand(&type15);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type15);
+  auto param47 = model->addOperand(&type15);
+  auto param48 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type11);
   auto roiOut = model->addOperand(&type13);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type16);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type15);
-  auto param49 = model->addOperand(&type15);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type17);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type15);
+  auto param52 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type17);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type18);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -4100,45 +4103,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static float param43_init[] = {0.3f};
   model->setOperandValue(param43, param43_init, sizeof(float) * 1);
-  static float param44_init[] = {0.4f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static float param48_init[] = {2.0f};
+  static float param46_init[] = {0.4f};
+  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
+  static float param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static float param48_init[] = {0.3f};
   model->setOperandValue(param48, param48_init, sizeof(float) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4169,30 +4178,33 @@
   auto roi = model->addOperand(&type10);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type15);
-  auto param44 = model->addOperand(&type15);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type15);
+  auto param47 = model->addOperand(&type15);
+  auto param48 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type11);
   auto roiOut = model->addOperand(&type13);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type16);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type15);
-  auto param49 = model->addOperand(&type15);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type17);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type15);
+  auto param52 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type17);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type18);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -4203,45 +4215,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static float param43_init[] = {0.3f};
   model->setOperandValue(param43, param43_init, sizeof(float) * 1);
-  static float param44_init[] = {0.4f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static float param48_init[] = {2.0f};
+  static float param46_init[] = {0.4f};
+  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
+  static float param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static float param48_init[] = {0.3f};
   model->setOperandValue(param48, param48_init, sizeof(float) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4274,30 +4292,33 @@
   auto roi = model->addOperand(&type61);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type15);
-  auto param44 = model->addOperand(&type15);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type15);
+  auto param47 = model->addOperand(&type15);
+  auto param48 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type64);
   auto roiOut = model->addOperand(&type62);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type59);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type15);
-  auto param49 = model->addOperand(&type15);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type58);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type15);
+  auto param52 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type58);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type60);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -4308,45 +4329,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static float param43_init[] = {0.3f};
   model->setOperandValue(param43, param43_init, sizeof(float) * 1);
-  static float param44_init[] = {0.4f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static float param48_init[] = {2.0f};
+  static float param46_init[] = {0.4f};
+  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
+  static float param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static float param48_init[] = {0.3f};
   model->setOperandValue(param48, param48_init, sizeof(float) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4377,30 +4404,33 @@
   auto roi = model->addOperand(&type69);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type68);
-  auto param44 = model->addOperand(&type68);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type68);
+  auto param47 = model->addOperand(&type68);
+  auto param48 = model->addOperand(&type68);
   auto scoresOut = model->addOperand(&type72);
   auto roiOut = model->addOperand(&type70);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type66);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type68);
-  auto param49 = model->addOperand(&type68);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type65);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type68);
+  auto param52 = model->addOperand(&type68);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type65);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type67);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -4411,45 +4441,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static _Float16 param43_init[] = {0.30000001192092896f};
   model->setOperandValue(param43, param43_init, sizeof(_Float16) * 1);
-  static _Float16 param44_init[] = {0.4000000059604645f};
-  model->setOperandValue(param44, param44_init, sizeof(_Float16) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static _Float16 param48_init[] = {2.0f};
+  static _Float16 param46_init[] = {0.4000000059604645f};
+  model->setOperandValue(param46, param46_init, sizeof(_Float16) * 1);
+  static _Float16 param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(_Float16) * 1);
+  static _Float16 param48_init[] = {0.30000001192092896f};
   model->setOperandValue(param48, param48_init, sizeof(_Float16) * 1);
-  static _Float16 param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(_Float16) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static _Float16 param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
+  static _Float16 param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4480,30 +4516,33 @@
   auto roi = model->addOperand(&type10);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type15);
-  auto param44 = model->addOperand(&type15);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type15);
+  auto param47 = model->addOperand(&type15);
+  auto param48 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type11);
   auto roiOut = model->addOperand(&type13);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type16);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type15);
-  auto param49 = model->addOperand(&type15);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type73);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type15);
+  auto param52 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type73);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type18);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -4514,45 +4553,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static float param43_init[] = {0.3f};
   model->setOperandValue(param43, param43_init, sizeof(float) * 1);
-  static float param44_init[] = {0.4f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static float param48_init[] = {2.0f};
+  static float param46_init[] = {0.4f};
+  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
+  static float param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static float param48_init[] = {0.3f};
   model->setOperandValue(param48, param48_init, sizeof(float) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4583,30 +4628,33 @@
   auto roi = model->addOperand(&type10);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type15);
-  auto param44 = model->addOperand(&type15);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type15);
+  auto param47 = model->addOperand(&type15);
+  auto param48 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type11);
   auto roiOut = model->addOperand(&type13);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type16);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type15);
-  auto param49 = model->addOperand(&type15);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type73);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type15);
+  auto param52 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type73);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type18);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -4617,45 +4665,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static float param43_init[] = {0.3f};
   model->setOperandValue(param43, param43_init, sizeof(float) * 1);
-  static float param44_init[] = {0.4f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static float param48_init[] = {2.0f};
+  static float param46_init[] = {0.4f};
+  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
+  static float param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static float param48_init[] = {0.3f};
   model->setOperandValue(param48, param48_init, sizeof(float) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4688,30 +4742,33 @@
   auto roi = model->addOperand(&type61);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type15);
-  auto param44 = model->addOperand(&type15);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type15);
+  auto param47 = model->addOperand(&type15);
+  auto param48 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type64);
   auto roiOut = model->addOperand(&type62);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type59);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type15);
-  auto param49 = model->addOperand(&type15);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type74);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type15);
+  auto param52 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type74);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type60);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -4722,45 +4779,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static float param43_init[] = {0.3f};
   model->setOperandValue(param43, param43_init, sizeof(float) * 1);
-  static float param44_init[] = {0.4f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static float param48_init[] = {2.0f};
+  static float param46_init[] = {0.4f};
+  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
+  static float param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static float param48_init[] = {0.3f};
   model->setOperandValue(param48, param48_init, sizeof(float) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4791,30 +4854,33 @@
   auto roi = model->addOperand(&type69);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type68);
-  auto param44 = model->addOperand(&type68);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type68);
+  auto param47 = model->addOperand(&type68);
+  auto param48 = model->addOperand(&type68);
   auto scoresOut = model->addOperand(&type72);
   auto roiOut = model->addOperand(&type70);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type66);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type68);
-  auto param49 = model->addOperand(&type68);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type75);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type68);
+  auto param52 = model->addOperand(&type68);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type75);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type67);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -4825,45 +4891,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static _Float16 param43_init[] = {0.30000001192092896f};
   model->setOperandValue(param43, param43_init, sizeof(_Float16) * 1);
-  static _Float16 param44_init[] = {0.4000000059604645f};
-  model->setOperandValue(param44, param44_init, sizeof(_Float16) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static _Float16 param48_init[] = {2.0f};
+  static _Float16 param46_init[] = {0.4000000059604645f};
+  model->setOperandValue(param46, param46_init, sizeof(_Float16) * 1);
+  static _Float16 param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(_Float16) * 1);
+  static _Float16 param48_init[] = {0.30000001192092896f};
   model->setOperandValue(param48, param48_init, sizeof(_Float16) * 1);
-  static _Float16 param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(_Float16) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static _Float16 param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
+  static _Float16 param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4894,30 +4966,33 @@
   auto roi = model->addOperand(&type10);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type15);
-  auto param44 = model->addOperand(&type15);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type15);
+  auto param47 = model->addOperand(&type15);
+  auto param48 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type11);
   auto roiOut = model->addOperand(&type13);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type16);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type15);
-  auto param49 = model->addOperand(&type15);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type17);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type15);
+  auto param52 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type17);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type24);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -4928,45 +5003,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static float param43_init[] = {0.3f};
   model->setOperandValue(param43, param43_init, sizeof(float) * 1);
-  static float param44_init[] = {0.4f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static float param48_init[] = {2.0f};
+  static float param46_init[] = {0.4f};
+  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
+  static float param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static float param48_init[] = {0.3f};
   model->setOperandValue(param48, param48_init, sizeof(float) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4997,30 +5078,33 @@
   auto roi = model->addOperand(&type10);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type15);
-  auto param44 = model->addOperand(&type15);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type15);
+  auto param47 = model->addOperand(&type15);
+  auto param48 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type11);
   auto roiOut = model->addOperand(&type13);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type16);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type15);
-  auto param49 = model->addOperand(&type15);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type17);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type15);
+  auto param52 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type17);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type24);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -5031,45 +5115,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static float param43_init[] = {0.3f};
   model->setOperandValue(param43, param43_init, sizeof(float) * 1);
-  static float param44_init[] = {0.4f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static float param48_init[] = {2.0f};
+  static float param46_init[] = {0.4f};
+  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
+  static float param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static float param48_init[] = {0.3f};
   model->setOperandValue(param48, param48_init, sizeof(float) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -5102,30 +5192,33 @@
   auto roi = model->addOperand(&type61);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type15);
-  auto param44 = model->addOperand(&type15);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type15);
+  auto param47 = model->addOperand(&type15);
+  auto param48 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type64);
   auto roiOut = model->addOperand(&type62);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type59);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type15);
-  auto param49 = model->addOperand(&type15);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type58);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type15);
+  auto param52 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type58);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type76);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -5136,45 +5229,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static float param43_init[] = {0.3f};
   model->setOperandValue(param43, param43_init, sizeof(float) * 1);
-  static float param44_init[] = {0.4f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static float param48_init[] = {2.0f};
+  static float param46_init[] = {0.4f};
+  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
+  static float param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static float param48_init[] = {0.3f};
   model->setOperandValue(param48, param48_init, sizeof(float) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -5205,30 +5304,33 @@
   auto roi = model->addOperand(&type69);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type68);
-  auto param44 = model->addOperand(&type68);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type68);
+  auto param47 = model->addOperand(&type68);
+  auto param48 = model->addOperand(&type68);
   auto scoresOut = model->addOperand(&type77);
   auto roiOut = model->addOperand(&type70);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type66);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type68);
-  auto param49 = model->addOperand(&type68);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type65);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type68);
+  auto param52 = model->addOperand(&type68);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type65);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type25);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -5239,45 +5341,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static _Float16 param43_init[] = {0.30000001192092896f};
   model->setOperandValue(param43, param43_init, sizeof(_Float16) * 1);
-  static _Float16 param44_init[] = {0.4000000059604645f};
-  model->setOperandValue(param44, param44_init, sizeof(_Float16) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static _Float16 param48_init[] = {2.0f};
+  static _Float16 param46_init[] = {0.4000000059604645f};
+  model->setOperandValue(param46, param46_init, sizeof(_Float16) * 1);
+  static _Float16 param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(_Float16) * 1);
+  static _Float16 param48_init[] = {0.30000001192092896f};
   model->setOperandValue(param48, param48_init, sizeof(_Float16) * 1);
-  static _Float16 param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(_Float16) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static _Float16 param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
+  static _Float16 param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -5308,30 +5416,33 @@
   auto roi = model->addOperand(&type10);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type15);
-  auto param44 = model->addOperand(&type15);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type15);
+  auto param47 = model->addOperand(&type15);
+  auto param48 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type11);
   auto roiOut = model->addOperand(&type13);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type16);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type15);
-  auto param49 = model->addOperand(&type15);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type73);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type15);
+  auto param52 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type73);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type24);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -5342,45 +5453,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static float param43_init[] = {0.3f};
   model->setOperandValue(param43, param43_init, sizeof(float) * 1);
-  static float param44_init[] = {0.4f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static float param48_init[] = {2.0f};
+  static float param46_init[] = {0.4f};
+  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
+  static float param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static float param48_init[] = {0.3f};
   model->setOperandValue(param48, param48_init, sizeof(float) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -5411,30 +5528,33 @@
   auto roi = model->addOperand(&type10);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type15);
-  auto param44 = model->addOperand(&type15);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type15);
+  auto param47 = model->addOperand(&type15);
+  auto param48 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type11);
   auto roiOut = model->addOperand(&type13);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type16);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type15);
-  auto param49 = model->addOperand(&type15);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type73);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type15);
+  auto param52 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type73);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type24);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -5445,45 +5565,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static float param43_init[] = {0.3f};
   model->setOperandValue(param43, param43_init, sizeof(float) * 1);
-  static float param44_init[] = {0.4f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static float param48_init[] = {2.0f};
+  static float param46_init[] = {0.4f};
+  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
+  static float param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static float param48_init[] = {0.3f};
   model->setOperandValue(param48, param48_init, sizeof(float) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -5516,30 +5642,33 @@
   auto roi = model->addOperand(&type61);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type15);
-  auto param44 = model->addOperand(&type15);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type15);
+  auto param47 = model->addOperand(&type15);
+  auto param48 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type64);
   auto roiOut = model->addOperand(&type62);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type59);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type15);
-  auto param49 = model->addOperand(&type15);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type74);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type15);
+  auto param52 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type74);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type76);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -5550,45 +5679,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static float param43_init[] = {0.3f};
   model->setOperandValue(param43, param43_init, sizeof(float) * 1);
-  static float param44_init[] = {0.4f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static float param48_init[] = {2.0f};
+  static float param46_init[] = {0.4f};
+  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
+  static float param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static float param48_init[] = {0.3f};
   model->setOperandValue(param48, param48_init, sizeof(float) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -5619,30 +5754,33 @@
   auto roi = model->addOperand(&type69);
   auto param42 = model->addOperand(&type14);
   auto param43 = model->addOperand(&type68);
-  auto param44 = model->addOperand(&type68);
+  auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type68);
+  auto param47 = model->addOperand(&type68);
+  auto param48 = model->addOperand(&type68);
   auto scoresOut = model->addOperand(&type77);
   auto roiOut = model->addOperand(&type70);
   auto classesOut = model->addOperand(&type12);
   auto batchSplitOut = model->addOperand(&type12);
   auto in = model->addOperand(&type66);
-  auto param46 = model->addOperand(&type2);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type68);
-  auto param49 = model->addOperand(&type68);
+  auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
-  auto param51 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type75);
-  auto param52 = model->addOperand(&type2);
+  auto param51 = model->addOperand(&type68);
+  auto param52 = model->addOperand(&type68);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type75);
   auto param55 = model->addOperand(&type2);
   auto param56 = model->addOperand(&type2);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
   auto param59 = model->addOperand(&type2);
   auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
   auto out = model->addOperand(&type25);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -5653,45 +5791,51 @@
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
   static _Float16 param43_init[] = {0.30000001192092896f};
   model->setOperandValue(param43, param43_init, sizeof(_Float16) * 1);
-  static _Float16 param44_init[] = {0.4000000059604645f};
-  model->setOperandValue(param44, param44_init, sizeof(_Float16) * 1);
-  static int32_t param45_init[] = {-1};
+  static int32_t param44_init[] = {-1};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
-  static int32_t param46_init[] = {2};
-  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static _Float16 param48_init[] = {2.0f};
+  static _Float16 param46_init[] = {0.4000000059604645f};
+  model->setOperandValue(param46, param46_init, sizeof(_Float16) * 1);
+  static _Float16 param47_init[] = {1.0f};
+  model->setOperandValue(param47, param47_init, sizeof(_Float16) * 1);
+  static _Float16 param48_init[] = {0.30000001192092896f};
   model->setOperandValue(param48, param48_init, sizeof(_Float16) * 1);
-  static _Float16 param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(_Float16) * 1);
-  static int32_t param50_init[] = {4};
+  static int32_t param49_init[] = {2};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static int32_t param50_init[] = {2};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
+  static _Float16 param51_init[] = {2.0f};
+  model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
+  static _Float16 param52_init[] = {2.0f};
+  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
+  static int32_t param53_init[] = {4};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {4};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {0};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {0};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
   static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {1};
+  static int32_t param56_init[] = {0};
   model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {1};
+  static int32_t param57_init[] = {0};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {2};
+  static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {2};
+  static int32_t param59_init[] = {1};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {0};
+  static int32_t param60_init[] = {1};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param46, param47, param48, param49, param50, param51, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param52, param53, param54, param55, param56, param57, param58, param59, param60, layout}, {out});
+  static int32_t param61_init[] = {2};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {0};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param42, param43, param44, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap, param55, param56, param57, param58, param59, param60, param61, param62, param63, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -5719,72 +5863,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type9);
   auto roi1 = model->addOperand(&type10);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type15);
-  auto param63 = model->addOperand(&type15);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type15);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type15);
+  auto param69 = model->addOperand(&type15);
+  auto param70 = model->addOperand(&type15);
   auto scoresOut1 = model->addOperand(&type11);
   auto roiOut1 = model->addOperand(&type13);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type16);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type15);
-  auto param68 = model->addOperand(&type15);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type17);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type15);
+  auto param74 = model->addOperand(&type15);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type17);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type17);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static float param62_init[] = {0.3f};
-  model->setOperandValue(param62, param62_init, sizeof(float) * 1);
-  static float param63_init[] = {0.4f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static float param65_init[] = {0.3f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static float param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(float) * 1);
-  static float param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static float param68_init[] = {0.4f};
   model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(float) * 1);
+  static float param70_init[] = {0.3f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static float param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(float) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -5812,72 +5965,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type9);
   auto roi1 = model->addOperand(&type10);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type15);
-  auto param63 = model->addOperand(&type15);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type15);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type15);
+  auto param69 = model->addOperand(&type15);
+  auto param70 = model->addOperand(&type15);
   auto scoresOut1 = model->addOperand(&type11);
   auto roiOut1 = model->addOperand(&type13);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type16);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type15);
-  auto param68 = model->addOperand(&type15);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type17);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type15);
+  auto param74 = model->addOperand(&type15);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type17);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type17);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static float param62_init[] = {0.3f};
-  model->setOperandValue(param62, param62_init, sizeof(float) * 1);
-  static float param63_init[] = {0.4f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static float param65_init[] = {0.3f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static float param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(float) * 1);
-  static float param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static float param68_init[] = {0.4f};
   model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(float) * 1);
+  static float param70_init[] = {0.3f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static float param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(float) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -5907,72 +6069,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type63);
   auto roi1 = model->addOperand(&type61);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type15);
-  auto param63 = model->addOperand(&type15);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type15);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type15);
+  auto param69 = model->addOperand(&type15);
+  auto param70 = model->addOperand(&type15);
   auto scoresOut1 = model->addOperand(&type64);
   auto roiOut1 = model->addOperand(&type62);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type59);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type15);
-  auto param68 = model->addOperand(&type15);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type58);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type15);
+  auto param74 = model->addOperand(&type15);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type58);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type58);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static float param62_init[] = {0.3f};
-  model->setOperandValue(param62, param62_init, sizeof(float) * 1);
-  static float param63_init[] = {0.4f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static float param65_init[] = {0.3f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static float param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(float) * 1);
-  static float param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static float param68_init[] = {0.4f};
   model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(float) * 1);
+  static float param70_init[] = {0.3f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static float param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(float) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6000,72 +6171,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type71);
   auto roi1 = model->addOperand(&type69);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type68);
-  auto param63 = model->addOperand(&type68);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type68);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type68);
+  auto param69 = model->addOperand(&type68);
+  auto param70 = model->addOperand(&type68);
   auto scoresOut1 = model->addOperand(&type72);
   auto roiOut1 = model->addOperand(&type70);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type66);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type68);
-  auto param68 = model->addOperand(&type68);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type65);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type68);
+  auto param74 = model->addOperand(&type68);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type65);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type65);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static _Float16 param62_init[] = {0.30000001192092896f};
-  model->setOperandValue(param62, param62_init, sizeof(_Float16) * 1);
-  static _Float16 param63_init[] = {0.4000000059604645f};
-  model->setOperandValue(param63, param63_init, sizeof(_Float16) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static _Float16 param65_init[] = {0.30000001192092896f};
+  model->setOperandValue(param65, param65_init, sizeof(_Float16) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static _Float16 param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(_Float16) * 1);
-  static _Float16 param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static _Float16 param68_init[] = {0.4000000059604645f};
   model->setOperandValue(param68, param68_init, sizeof(_Float16) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static _Float16 param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(_Float16) * 1);
+  static _Float16 param70_init[] = {0.30000001192092896f};
+  model->setOperandValue(param70, param70_init, sizeof(_Float16) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static _Float16 param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(_Float16) * 1);
+  static _Float16 param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(_Float16) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6093,72 +6273,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type9);
   auto roi1 = model->addOperand(&type10);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type15);
-  auto param63 = model->addOperand(&type15);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type15);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type15);
+  auto param69 = model->addOperand(&type15);
+  auto param70 = model->addOperand(&type15);
   auto scoresOut1 = model->addOperand(&type11);
   auto roiOut1 = model->addOperand(&type13);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type16);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type15);
-  auto param68 = model->addOperand(&type15);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type73);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type15);
+  auto param74 = model->addOperand(&type15);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type73);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type73);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static float param62_init[] = {0.3f};
-  model->setOperandValue(param62, param62_init, sizeof(float) * 1);
-  static float param63_init[] = {0.4f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static float param65_init[] = {0.3f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static float param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(float) * 1);
-  static float param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static float param68_init[] = {0.4f};
   model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(float) * 1);
+  static float param70_init[] = {0.3f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static float param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(float) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6186,72 +6375,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type9);
   auto roi1 = model->addOperand(&type10);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type15);
-  auto param63 = model->addOperand(&type15);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type15);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type15);
+  auto param69 = model->addOperand(&type15);
+  auto param70 = model->addOperand(&type15);
   auto scoresOut1 = model->addOperand(&type11);
   auto roiOut1 = model->addOperand(&type13);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type16);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type15);
-  auto param68 = model->addOperand(&type15);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type73);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type15);
+  auto param74 = model->addOperand(&type15);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type73);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type73);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static float param62_init[] = {0.3f};
-  model->setOperandValue(param62, param62_init, sizeof(float) * 1);
-  static float param63_init[] = {0.4f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static float param65_init[] = {0.3f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static float param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(float) * 1);
-  static float param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static float param68_init[] = {0.4f};
   model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(float) * 1);
+  static float param70_init[] = {0.3f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static float param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(float) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6281,72 +6479,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type63);
   auto roi1 = model->addOperand(&type61);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type15);
-  auto param63 = model->addOperand(&type15);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type15);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type15);
+  auto param69 = model->addOperand(&type15);
+  auto param70 = model->addOperand(&type15);
   auto scoresOut1 = model->addOperand(&type64);
   auto roiOut1 = model->addOperand(&type62);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type59);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type15);
-  auto param68 = model->addOperand(&type15);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type74);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type15);
+  auto param74 = model->addOperand(&type15);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type74);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type74);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static float param62_init[] = {0.3f};
-  model->setOperandValue(param62, param62_init, sizeof(float) * 1);
-  static float param63_init[] = {0.4f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static float param65_init[] = {0.3f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static float param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(float) * 1);
-  static float param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static float param68_init[] = {0.4f};
   model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(float) * 1);
+  static float param70_init[] = {0.3f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static float param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(float) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6374,72 +6581,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type71);
   auto roi1 = model->addOperand(&type69);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type68);
-  auto param63 = model->addOperand(&type68);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type68);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type68);
+  auto param69 = model->addOperand(&type68);
+  auto param70 = model->addOperand(&type68);
   auto scoresOut1 = model->addOperand(&type72);
   auto roiOut1 = model->addOperand(&type70);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type66);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type68);
-  auto param68 = model->addOperand(&type68);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type75);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type68);
+  auto param74 = model->addOperand(&type68);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type75);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type75);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static _Float16 param62_init[] = {0.30000001192092896f};
-  model->setOperandValue(param62, param62_init, sizeof(_Float16) * 1);
-  static _Float16 param63_init[] = {0.4000000059604645f};
-  model->setOperandValue(param63, param63_init, sizeof(_Float16) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static _Float16 param65_init[] = {0.30000001192092896f};
+  model->setOperandValue(param65, param65_init, sizeof(_Float16) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static _Float16 param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(_Float16) * 1);
-  static _Float16 param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static _Float16 param68_init[] = {0.4000000059604645f};
   model->setOperandValue(param68, param68_init, sizeof(_Float16) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static _Float16 param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(_Float16) * 1);
+  static _Float16 param70_init[] = {0.30000001192092896f};
+  model->setOperandValue(param70, param70_init, sizeof(_Float16) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static _Float16 param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(_Float16) * 1);
+  static _Float16 param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(_Float16) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6468,72 +6684,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type9);
   auto roi1 = model->addOperand(&type10);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type15);
-  auto param63 = model->addOperand(&type15);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type15);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type15);
+  auto param69 = model->addOperand(&type15);
+  auto param70 = model->addOperand(&type15);
   auto scoresOut1 = model->addOperand(&type11);
   auto roiOut1 = model->addOperand(&type13);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type16);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type15);
-  auto param68 = model->addOperand(&type15);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type17);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type15);
+  auto param74 = model->addOperand(&type15);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type17);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type24);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static float param62_init[] = {0.3f};
-  model->setOperandValue(param62, param62_init, sizeof(float) * 1);
-  static float param63_init[] = {0.4f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static float param65_init[] = {0.3f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static float param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(float) * 1);
-  static float param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static float param68_init[] = {0.4f};
   model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(float) * 1);
+  static float param70_init[] = {0.3f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static float param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(float) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6562,72 +6787,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type9);
   auto roi1 = model->addOperand(&type10);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type15);
-  auto param63 = model->addOperand(&type15);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type15);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type15);
+  auto param69 = model->addOperand(&type15);
+  auto param70 = model->addOperand(&type15);
   auto scoresOut1 = model->addOperand(&type11);
   auto roiOut1 = model->addOperand(&type13);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type16);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type15);
-  auto param68 = model->addOperand(&type15);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type17);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type15);
+  auto param74 = model->addOperand(&type15);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type17);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type24);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static float param62_init[] = {0.3f};
-  model->setOperandValue(param62, param62_init, sizeof(float) * 1);
-  static float param63_init[] = {0.4f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static float param65_init[] = {0.3f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static float param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(float) * 1);
-  static float param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static float param68_init[] = {0.4f};
   model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(float) * 1);
+  static float param70_init[] = {0.3f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static float param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(float) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6658,72 +6892,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type63);
   auto roi1 = model->addOperand(&type61);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type15);
-  auto param63 = model->addOperand(&type15);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type15);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type15);
+  auto param69 = model->addOperand(&type15);
+  auto param70 = model->addOperand(&type15);
   auto scoresOut1 = model->addOperand(&type64);
   auto roiOut1 = model->addOperand(&type62);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type59);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type15);
-  auto param68 = model->addOperand(&type15);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type58);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type15);
+  auto param74 = model->addOperand(&type15);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type58);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type76);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static float param62_init[] = {0.3f};
-  model->setOperandValue(param62, param62_init, sizeof(float) * 1);
-  static float param63_init[] = {0.4f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static float param65_init[] = {0.3f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static float param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(float) * 1);
-  static float param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static float param68_init[] = {0.4f};
   model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(float) * 1);
+  static float param70_init[] = {0.3f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static float param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(float) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6752,72 +6995,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type71);
   auto roi1 = model->addOperand(&type69);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type68);
-  auto param63 = model->addOperand(&type68);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type68);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type68);
+  auto param69 = model->addOperand(&type68);
+  auto param70 = model->addOperand(&type68);
   auto scoresOut1 = model->addOperand(&type77);
   auto roiOut1 = model->addOperand(&type70);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type66);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type68);
-  auto param68 = model->addOperand(&type68);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type65);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type68);
+  auto param74 = model->addOperand(&type68);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type65);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type25);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static _Float16 param62_init[] = {0.30000001192092896f};
-  model->setOperandValue(param62, param62_init, sizeof(_Float16) * 1);
-  static _Float16 param63_init[] = {0.4000000059604645f};
-  model->setOperandValue(param63, param63_init, sizeof(_Float16) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static _Float16 param65_init[] = {0.30000001192092896f};
+  model->setOperandValue(param65, param65_init, sizeof(_Float16) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static _Float16 param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(_Float16) * 1);
-  static _Float16 param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static _Float16 param68_init[] = {0.4000000059604645f};
   model->setOperandValue(param68, param68_init, sizeof(_Float16) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static _Float16 param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(_Float16) * 1);
+  static _Float16 param70_init[] = {0.30000001192092896f};
+  model->setOperandValue(param70, param70_init, sizeof(_Float16) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static _Float16 param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(_Float16) * 1);
+  static _Float16 param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(_Float16) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6846,72 +7098,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type9);
   auto roi1 = model->addOperand(&type10);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type15);
-  auto param63 = model->addOperand(&type15);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type15);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type15);
+  auto param69 = model->addOperand(&type15);
+  auto param70 = model->addOperand(&type15);
   auto scoresOut1 = model->addOperand(&type11);
   auto roiOut1 = model->addOperand(&type13);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type16);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type15);
-  auto param68 = model->addOperand(&type15);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type73);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type15);
+  auto param74 = model->addOperand(&type15);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type73);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type24);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static float param62_init[] = {0.3f};
-  model->setOperandValue(param62, param62_init, sizeof(float) * 1);
-  static float param63_init[] = {0.4f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static float param65_init[] = {0.3f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static float param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(float) * 1);
-  static float param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static float param68_init[] = {0.4f};
   model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(float) * 1);
+  static float param70_init[] = {0.3f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static float param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(float) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6940,72 +7201,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type9);
   auto roi1 = model->addOperand(&type10);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type15);
-  auto param63 = model->addOperand(&type15);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type15);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type15);
+  auto param69 = model->addOperand(&type15);
+  auto param70 = model->addOperand(&type15);
   auto scoresOut1 = model->addOperand(&type11);
   auto roiOut1 = model->addOperand(&type13);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type16);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type15);
-  auto param68 = model->addOperand(&type15);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type73);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type15);
+  auto param74 = model->addOperand(&type15);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type73);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type24);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static float param62_init[] = {0.3f};
-  model->setOperandValue(param62, param62_init, sizeof(float) * 1);
-  static float param63_init[] = {0.4f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static float param65_init[] = {0.3f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static float param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(float) * 1);
-  static float param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static float param68_init[] = {0.4f};
   model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(float) * 1);
+  static float param70_init[] = {0.3f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static float param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(float) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -7036,72 +7306,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type63);
   auto roi1 = model->addOperand(&type61);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type15);
-  auto param63 = model->addOperand(&type15);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type15);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type15);
+  auto param69 = model->addOperand(&type15);
+  auto param70 = model->addOperand(&type15);
   auto scoresOut1 = model->addOperand(&type64);
   auto roiOut1 = model->addOperand(&type62);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type59);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type15);
-  auto param68 = model->addOperand(&type15);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type74);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type15);
+  auto param74 = model->addOperand(&type15);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type74);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type76);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static float param62_init[] = {0.3f};
-  model->setOperandValue(param62, param62_init, sizeof(float) * 1);
-  static float param63_init[] = {0.4f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static float param65_init[] = {0.3f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static float param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(float) * 1);
-  static float param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static float param68_init[] = {0.4f};
   model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(float) * 1);
+  static float param70_init[] = {0.3f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static float param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(float) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -7130,72 +7409,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type71);
   auto roi1 = model->addOperand(&type69);
-  auto param61 = model->addOperand(&type14);
-  auto param62 = model->addOperand(&type68);
-  auto param63 = model->addOperand(&type68);
-  auto param64 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type14);
+  auto param65 = model->addOperand(&type68);
+  auto param66 = model->addOperand(&type2);
+  auto param67 = model->addOperand(&type2);
+  auto param68 = model->addOperand(&type68);
+  auto param69 = model->addOperand(&type68);
+  auto param70 = model->addOperand(&type68);
   auto scoresOut1 = model->addOperand(&type77);
   auto roiOut1 = model->addOperand(&type70);
   auto classesOut1 = model->addOperand(&type12);
   auto batchSplitOut1 = model->addOperand(&type12);
   auto in1 = model->addOperand(&type66);
-  auto param65 = model->addOperand(&type2);
-  auto param66 = model->addOperand(&type2);
-  auto param67 = model->addOperand(&type68);
-  auto param68 = model->addOperand(&type68);
-  auto param69 = model->addOperand(&type2);
-  auto param70 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type75);
   auto param71 = model->addOperand(&type2);
   auto param72 = model->addOperand(&type2);
-  auto param73 = model->addOperand(&type2);
-  auto param74 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type68);
+  auto param74 = model->addOperand(&type68);
   auto param75 = model->addOperand(&type2);
   auto param76 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type75);
+  auto param77 = model->addOperand(&type2);
+  auto param78 = model->addOperand(&type2);
+  auto param79 = model->addOperand(&type2);
+  auto param80 = model->addOperand(&type2);
+  auto param81 = model->addOperand(&type2);
+  auto param82 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type25);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param61_init[] = {0};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  static _Float16 param62_init[] = {0.30000001192092896f};
-  model->setOperandValue(param62, param62_init, sizeof(_Float16) * 1);
-  static _Float16 param63_init[] = {0.4000000059604645f};
-  model->setOperandValue(param63, param63_init, sizeof(_Float16) * 1);
-  static int32_t param64_init[] = {-1};
+  static int32_t param64_init[] = {0};
   model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
+  static _Float16 param65_init[] = {0.30000001192092896f};
+  model->setOperandValue(param65, param65_init, sizeof(_Float16) * 1);
+  static int32_t param66_init[] = {-1};
   model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static _Float16 param67_init[] = {2.0f};
-  model->setOperandValue(param67, param67_init, sizeof(_Float16) * 1);
-  static _Float16 param68_init[] = {2.0f};
+  static int32_t param67_init[] = {0};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
+  static _Float16 param68_init[] = {0.4000000059604645f};
   model->setOperandValue(param68, param68_init, sizeof(_Float16) * 1);
-  static int32_t param69_init[] = {4};
-  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static _Float16 param69_init[] = {1.0f};
+  model->setOperandValue(param69, param69_init, sizeof(_Float16) * 1);
+  static _Float16 param70_init[] = {0.30000001192092896f};
+  model->setOperandValue(param70, param70_init, sizeof(_Float16) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static _Float16 param73_init[] = {2.0f};
+  model->setOperandValue(param73, param73_init, sizeof(_Float16) * 1);
+  static _Float16 param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(_Float16) * 1);
+  static int32_t param75_init[] = {4};
+  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param71_init[] = {1};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {2};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {2};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  static int32_t param76_init[] = {0};
-  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param61, param62, param63, param64}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param65, param66, param67, param68, param69, param70, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param71, param72, param73, param74, param75, param76, layout}, {out1});
+  static int32_t param77_init[] = {1};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {2};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {2};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  static int32_t param82_init[] = {0};
+  model->setOperandValue(param82, param82_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param64, param65, param66, param67, param68, param69, param70}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param71, param72, param73, param74, param75, param76, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_AVERAGE_POOL_2D, {featureMap1, param77, param78, param79, param80, param81, param82, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
diff --git a/runtime/test/generated/models/bbox_graph.model.cpp b/runtime/test/generated/models/bbox_graph.model.cpp
index eabb75b..7b7c158 100644
--- a/runtime/test/generated/models/bbox_graph.model.cpp
+++ b/runtime/test/generated/models/bbox_graph.model.cpp
@@ -51,8 +51,11 @@
   auto scores3 = model->addOperand(&type16);
   auto roi1 = model->addOperand(&type13);
   auto param14 = model->addOperand(&type8);
-  auto param15 = model->addOperand(&type8);
+  auto param15 = model->addOperand(&type9);
   auto param16 = model->addOperand(&type9);
+  auto param17 = model->addOperand(&type8);
+  auto param18 = model->addOperand(&type8);
+  auto param19 = model->addOperand(&type8);
   auto scores4 = model->addOperand(&type5);
   auto roi2 = model->addOperand(&type6);
   auto classes = model->addOperand(&type7);
@@ -98,16 +101,22 @@
   model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static float param14_init[] = {0.1f};
   model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static float param15_init[] = {0.3f};
-  model->setOperandValue(param15, param15_init, sizeof(float) * 1);
-  static int32_t param16_init[] = {-1};
+  static int32_t param15_init[] = {-1};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {0};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
+  static float param17_init[] = {0.3f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {1.0f};
+  model->setOperandValue(param18, param18_init, sizeof(float) * 1);
+  static float param19_init[] = {0.1f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
   model->addOperation(ANEURALNETWORKS_GENERATE_PROPOSALS, {scores, deltas, anchors, imageInfo, param, param1, param2, param3, param4, param5, layout}, {scores1, roi, batches});
   model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {featureMap, roi, batches, param6, param7, param8, param9, param10, param11, layout}, {scores2});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights, bias, param12}, {delta});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights1, bias1, param13}, {scores3});
   model->addOperation(ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM, {roi, delta, batches, imageInfo}, {roi1});
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16}, {scores4, roi2, classes, batches1});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16, param17, param18, param19}, {scores4, roi2, classes, batches1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, deltas, anchors, imageInfo, featureMap},
@@ -171,8 +180,11 @@
   auto scores3 = model->addOperand(&type16);
   auto roi1 = model->addOperand(&type13);
   auto param14 = model->addOperand(&type8);
-  auto param15 = model->addOperand(&type8);
+  auto param15 = model->addOperand(&type9);
   auto param16 = model->addOperand(&type9);
+  auto param17 = model->addOperand(&type8);
+  auto param18 = model->addOperand(&type8);
+  auto param19 = model->addOperand(&type8);
   auto scores4 = model->addOperand(&type5);
   auto roi2 = model->addOperand(&type6);
   auto classes = model->addOperand(&type7);
@@ -218,16 +230,22 @@
   model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static float param14_init[] = {0.1f};
   model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static float param15_init[] = {0.3f};
-  model->setOperandValue(param15, param15_init, sizeof(float) * 1);
-  static int32_t param16_init[] = {-1};
+  static int32_t param15_init[] = {-1};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {0};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
+  static float param17_init[] = {0.3f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {1.0f};
+  model->setOperandValue(param18, param18_init, sizeof(float) * 1);
+  static float param19_init[] = {0.1f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
   model->addOperation(ANEURALNETWORKS_GENERATE_PROPOSALS, {scores, deltas, anchors, imageInfo, param, param1, param2, param3, param4, param5, layout}, {scores1, roi, batches});
   model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {featureMap, roi, batches, param6, param7, param8, param9, param10, param11, layout}, {scores2});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights, bias, param12}, {delta});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights1, bias1, param13}, {scores3});
   model->addOperation(ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM, {roi, delta, batches, imageInfo}, {roi1});
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16}, {scores4, roi2, classes, batches1});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16, param17, param18, param19}, {scores4, roi2, classes, batches1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, deltas, anchors, imageInfo, featureMap},
@@ -293,8 +311,11 @@
   auto scores3 = model->addOperand(&type28);
   auto roi1 = model->addOperand(&type20);
   auto param14 = model->addOperand(&type24);
-  auto param15 = model->addOperand(&type24);
+  auto param15 = model->addOperand(&type9);
   auto param16 = model->addOperand(&type9);
+  auto param17 = model->addOperand(&type24);
+  auto param18 = model->addOperand(&type24);
+  auto param19 = model->addOperand(&type24);
   auto scores4 = model->addOperand(&type26);
   auto roi2 = model->addOperand(&type25);
   auto classes = model->addOperand(&type7);
@@ -340,16 +361,22 @@
   model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static _Float16 param14_init[] = {0.10000000149011612f};
   model->setOperandValue(param14, param14_init, sizeof(_Float16) * 1);
-  static _Float16 param15_init[] = {0.30000001192092896f};
-  model->setOperandValue(param15, param15_init, sizeof(_Float16) * 1);
-  static int32_t param16_init[] = {-1};
+  static int32_t param15_init[] = {-1};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {0};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
+  static _Float16 param17_init[] = {0.30000001192092896f};
+  model->setOperandValue(param17, param17_init, sizeof(_Float16) * 1);
+  static _Float16 param18_init[] = {1.0f};
+  model->setOperandValue(param18, param18_init, sizeof(_Float16) * 1);
+  static _Float16 param19_init[] = {0.10000000149011612f};
+  model->setOperandValue(param19, param19_init, sizeof(_Float16) * 1);
   model->addOperation(ANEURALNETWORKS_GENERATE_PROPOSALS, {scores, deltas, anchors, imageInfo, param, param1, param2, param3, param4, param5, layout}, {scores1, roi, batches});
   model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {featureMap, roi, batches, param6, param7, param8, param9, param10, param11, layout}, {scores2});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights, bias, param12}, {delta});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights1, bias1, param13}, {scores3});
   model->addOperation(ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM, {roi, delta, batches, imageInfo}, {roi1});
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16}, {scores4, roi2, classes, batches1});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16, param17, param18, param19}, {scores4, roi2, classes, batches1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, deltas, anchors, imageInfo, featureMap},
@@ -414,8 +441,11 @@
   auto scores3 = model->addOperand(&type42);
   auto roi1 = model->addOperand(&type39);
   auto param14 = model->addOperand(&type8);
-  auto param15 = model->addOperand(&type8);
+  auto param15 = model->addOperand(&type9);
   auto param16 = model->addOperand(&type9);
+  auto param17 = model->addOperand(&type8);
+  auto param18 = model->addOperand(&type8);
+  auto param19 = model->addOperand(&type8);
   auto scores4 = model->addOperand(&type40);
   auto roi2 = model->addOperand(&type38);
   auto classes = model->addOperand(&type7);
@@ -461,16 +491,22 @@
   model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static float param14_init[] = {0.1f};
   model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static float param15_init[] = {0.3f};
-  model->setOperandValue(param15, param15_init, sizeof(float) * 1);
-  static int32_t param16_init[] = {-1};
+  static int32_t param15_init[] = {-1};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {0};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
+  static float param17_init[] = {0.3f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {1.0f};
+  model->setOperandValue(param18, param18_init, sizeof(float) * 1);
+  static float param19_init[] = {0.1f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
   model->addOperation(ANEURALNETWORKS_GENERATE_PROPOSALS, {scores, deltas, anchors, imageInfo, param, param1, param2, param3, param4, param5, layout}, {scores1, roi, batches});
   model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {featureMap, roi, batches, param6, param7, param8, param9, param10, param11, layout}, {scores2});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights, bias, param12}, {delta});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights1, bias1, param13}, {scores3});
   model->addOperation(ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM, {roi, delta, batches, imageInfo}, {roi1});
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16}, {scores4, roi2, classes, batches1});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16, param17, param18, param19}, {scores4, roi2, classes, batches1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, deltas, anchors, imageInfo, featureMap},
@@ -535,8 +571,11 @@
   auto scores3 = model->addOperand(&type16);
   auto roi1 = model->addOperand(&type13);
   auto param14 = model->addOperand(&type8);
-  auto param15 = model->addOperand(&type8);
+  auto param15 = model->addOperand(&type9);
   auto param16 = model->addOperand(&type9);
+  auto param17 = model->addOperand(&type8);
+  auto param18 = model->addOperand(&type8);
+  auto param19 = model->addOperand(&type8);
   auto scores4 = model->addOperand(&type5);
   auto roi2 = model->addOperand(&type45);
   auto classes = model->addOperand(&type7);
@@ -582,16 +621,22 @@
   model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static float param14_init[] = {0.1f};
   model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static float param15_init[] = {0.3f};
-  model->setOperandValue(param15, param15_init, sizeof(float) * 1);
-  static int32_t param16_init[] = {-1};
+  static int32_t param15_init[] = {-1};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {0};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
+  static float param17_init[] = {0.3f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {1.0f};
+  model->setOperandValue(param18, param18_init, sizeof(float) * 1);
+  static float param19_init[] = {0.1f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
   model->addOperation(ANEURALNETWORKS_GENERATE_PROPOSALS, {scores, deltas, anchors, imageInfo, param, param1, param2, param3, param4, param5, layout}, {scores1, roi, batches});
   model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {featureMap, roi, batches, param6, param7, param8, param9, param10, param11, layout}, {scores2});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights, bias, param12}, {delta});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights1, bias1, param13}, {scores3});
   model->addOperation(ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM, {roi, delta, batches, imageInfo}, {roi1});
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16}, {scores4, roi2, classes, batches1});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16, param17, param18, param19}, {scores4, roi2, classes, batches1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, deltas, anchors, imageInfo, featureMap},
@@ -656,8 +701,11 @@
   auto scores3 = model->addOperand(&type16);
   auto roi1 = model->addOperand(&type13);
   auto param14 = model->addOperand(&type8);
-  auto param15 = model->addOperand(&type8);
+  auto param15 = model->addOperand(&type9);
   auto param16 = model->addOperand(&type9);
+  auto param17 = model->addOperand(&type8);
+  auto param18 = model->addOperand(&type8);
+  auto param19 = model->addOperand(&type8);
   auto scores4 = model->addOperand(&type5);
   auto roi2 = model->addOperand(&type45);
   auto classes = model->addOperand(&type7);
@@ -703,16 +751,22 @@
   model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static float param14_init[] = {0.1f};
   model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static float param15_init[] = {0.3f};
-  model->setOperandValue(param15, param15_init, sizeof(float) * 1);
-  static int32_t param16_init[] = {-1};
+  static int32_t param15_init[] = {-1};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {0};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
+  static float param17_init[] = {0.3f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {1.0f};
+  model->setOperandValue(param18, param18_init, sizeof(float) * 1);
+  static float param19_init[] = {0.1f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
   model->addOperation(ANEURALNETWORKS_GENERATE_PROPOSALS, {scores, deltas, anchors, imageInfo, param, param1, param2, param3, param4, param5, layout}, {scores1, roi, batches});
   model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {featureMap, roi, batches, param6, param7, param8, param9, param10, param11, layout}, {scores2});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights, bias, param12}, {delta});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights1, bias1, param13}, {scores3});
   model->addOperation(ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM, {roi, delta, batches, imageInfo}, {roi1});
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16}, {scores4, roi2, classes, batches1});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16, param17, param18, param19}, {scores4, roi2, classes, batches1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, deltas, anchors, imageInfo, featureMap},
@@ -779,8 +833,11 @@
   auto scores3 = model->addOperand(&type28);
   auto roi1 = model->addOperand(&type20);
   auto param14 = model->addOperand(&type24);
-  auto param15 = model->addOperand(&type24);
+  auto param15 = model->addOperand(&type9);
   auto param16 = model->addOperand(&type9);
+  auto param17 = model->addOperand(&type24);
+  auto param18 = model->addOperand(&type24);
+  auto param19 = model->addOperand(&type24);
   auto scores4 = model->addOperand(&type46);
   auto roi2 = model->addOperand(&type47);
   auto classes = model->addOperand(&type7);
@@ -826,16 +883,22 @@
   model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static _Float16 param14_init[] = {0.10000000149011612f};
   model->setOperandValue(param14, param14_init, sizeof(_Float16) * 1);
-  static _Float16 param15_init[] = {0.30000001192092896f};
-  model->setOperandValue(param15, param15_init, sizeof(_Float16) * 1);
-  static int32_t param16_init[] = {-1};
+  static int32_t param15_init[] = {-1};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {0};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
+  static _Float16 param17_init[] = {0.30000001192092896f};
+  model->setOperandValue(param17, param17_init, sizeof(_Float16) * 1);
+  static _Float16 param18_init[] = {1.0f};
+  model->setOperandValue(param18, param18_init, sizeof(_Float16) * 1);
+  static _Float16 param19_init[] = {0.10000000149011612f};
+  model->setOperandValue(param19, param19_init, sizeof(_Float16) * 1);
   model->addOperation(ANEURALNETWORKS_GENERATE_PROPOSALS, {scores, deltas, anchors, imageInfo, param, param1, param2, param3, param4, param5, layout}, {scores1, roi, batches});
   model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {featureMap, roi, batches, param6, param7, param8, param9, param10, param11, layout}, {scores2});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights, bias, param12}, {delta});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights1, bias1, param13}, {scores3});
   model->addOperation(ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM, {roi, delta, batches, imageInfo}, {roi1});
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16}, {scores4, roi2, classes, batches1});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16, param17, param18, param19}, {scores4, roi2, classes, batches1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, deltas, anchors, imageInfo, featureMap},
@@ -901,8 +964,11 @@
   auto scores3 = model->addOperand(&type42);
   auto roi1 = model->addOperand(&type39);
   auto param14 = model->addOperand(&type8);
-  auto param15 = model->addOperand(&type8);
+  auto param15 = model->addOperand(&type9);
   auto param16 = model->addOperand(&type9);
+  auto param17 = model->addOperand(&type8);
+  auto param18 = model->addOperand(&type8);
+  auto param19 = model->addOperand(&type8);
   auto scores4 = model->addOperand(&type40);
   auto roi2 = model->addOperand(&type48);
   auto classes = model->addOperand(&type7);
@@ -948,16 +1014,22 @@
   model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static float param14_init[] = {0.1f};
   model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static float param15_init[] = {0.3f};
-  model->setOperandValue(param15, param15_init, sizeof(float) * 1);
-  static int32_t param16_init[] = {-1};
+  static int32_t param15_init[] = {-1};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {0};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
+  static float param17_init[] = {0.3f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {1.0f};
+  model->setOperandValue(param18, param18_init, sizeof(float) * 1);
+  static float param19_init[] = {0.1f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
   model->addOperation(ANEURALNETWORKS_GENERATE_PROPOSALS, {scores, deltas, anchors, imageInfo, param, param1, param2, param3, param4, param5, layout}, {scores1, roi, batches});
   model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {featureMap, roi, batches, param6, param7, param8, param9, param10, param11, layout}, {scores2});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights, bias, param12}, {delta});
   model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {scores2, weights1, bias1, param13}, {scores3});
   model->addOperation(ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM, {roi, delta, batches, imageInfo}, {roi1});
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16}, {scores4, roi2, classes, batches1});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores3, roi1, batches, param14, param15, param16, param17, param18, param19}, {scores4, roi2, classes, batches1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, deltas, anchors, imageInfo, featureMap},
diff --git a/runtime/test/generated/models/box_with_nms_limit.model.cpp b/runtime/test/generated/models/box_with_nms_limit_gaussian.model.cpp
similarity index 63%
copy from runtime/test/generated/models/box_with_nms_limit.model.cpp
copy to runtime/test/generated/models/box_with_nms_limit_gaussian.model.cpp
index 4a88468..38f17f6 100644
--- a/runtime/test/generated/models/box_with_nms_limit.model.cpp
+++ b/runtime/test/generated/models/box_with_nms_limit_gaussian.model.cpp
@@ -1,12 +1,12 @@
 // clang-format off
-// Generated file (from: box_with_nms_limit.mod.py). Do not edit
+// Generated file (from: box_with_nms_limit_gaussian.mod.py). Do not edit
 void CreateModel(Model *model) {
   OperandType type0(Type::TENSOR_FLOAT32, {19, 3});
   OperandType type1(Type::TENSOR_FLOAT32, {19, 12});
   OperandType type2(Type::TENSOR_INT32, {19});
-  OperandType type3(Type::TENSOR_FLOAT32, {12});
-  OperandType type4(Type::TENSOR_FLOAT32, {12, 4});
-  OperandType type5(Type::TENSOR_INT32, {12});
+  OperandType type3(Type::TENSOR_FLOAT32, {18});
+  OperandType type4(Type::TENSOR_FLOAT32, {18, 4});
+  OperandType type5(Type::TENSOR_INT32, {18});
   OperandType type6(Type::FLOAT32, {});
   OperandType type7(Type::INT32, {});
   // Phase 1, operands
@@ -14,8 +14,11 @@
   auto roi = model->addOperand(&type1);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type3);
   auto roiOut = model->addOperand(&type4);
   auto classesOut = model->addOperand(&type5);
@@ -23,11 +26,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {2};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {0.5f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -44,9 +53,9 @@
   OperandType type0(Type::TENSOR_FLOAT32, {19, 3});
   OperandType type1(Type::TENSOR_FLOAT32, {19, 12});
   OperandType type2(Type::TENSOR_INT32, {19});
-  OperandType type3(Type::TENSOR_FLOAT32, {12});
-  OperandType type4(Type::TENSOR_FLOAT32, {12, 4});
-  OperandType type5(Type::TENSOR_INT32, {12});
+  OperandType type3(Type::TENSOR_FLOAT32, {18});
+  OperandType type4(Type::TENSOR_FLOAT32, {18, 4});
+  OperandType type5(Type::TENSOR_INT32, {18});
   OperandType type6(Type::FLOAT32, {});
   OperandType type7(Type::INT32, {});
   // Phase 1, operands
@@ -54,8 +63,11 @@
   auto roi = model->addOperand(&type1);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type3);
   auto roiOut = model->addOperand(&type4);
   auto classesOut = model->addOperand(&type5);
@@ -63,11 +75,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {2};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {0.5f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -85,19 +103,22 @@
 void CreateModel_float16(Model *model) {
   OperandType type11(Type::FLOAT16, {});
   OperandType type12(Type::TENSOR_FLOAT16, {19, 12});
-  OperandType type13(Type::TENSOR_FLOAT16, {12, 4});
+  OperandType type13(Type::TENSOR_FLOAT16, {18, 4});
   OperandType type14(Type::TENSOR_FLOAT16, {19, 3});
-  OperandType type15(Type::TENSOR_FLOAT16, {12});
+  OperandType type15(Type::TENSOR_FLOAT16, {18});
   OperandType type2(Type::TENSOR_INT32, {19});
-  OperandType type5(Type::TENSOR_INT32, {12});
+  OperandType type5(Type::TENSOR_INT32, {18});
   OperandType type7(Type::INT32, {});
   // Phase 1, operands
   auto scores = model->addOperand(&type14);
   auto roi = model->addOperand(&type12);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type11);
-  auto param1 = model->addOperand(&type11);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type11);
+  auto param4 = model->addOperand(&type11);
+  auto param5 = model->addOperand(&type11);
   auto scoresOut = model->addOperand(&type15);
   auto roiOut = model->addOperand(&type13);
   auto classesOut = model->addOperand(&type5);
@@ -105,11 +126,17 @@
   // Phase 2, operations
   static _Float16 param_init[] = {0.30000001192092896f};
   model->setOperandValue(param, param_init, sizeof(_Float16) * 1);
-  static _Float16 param1_init[] = {0.4000000059604645f};
-  model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {2};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static _Float16 param3_init[] = {0.4000000059604645f};
+  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
+  static _Float16 param4_init[] = {0.5f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {0.30000001192092896f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -124,11 +151,11 @@
 
 void CreateModel_quant8(Model *model) {
   OperandType type16(Type::TENSOR_QUANT16_ASYMM, {19, 12}, 0.125f, 0);
-  OperandType type17(Type::TENSOR_QUANT16_ASYMM, {12, 4}, 0.125f, 0);
+  OperandType type17(Type::TENSOR_QUANT16_ASYMM, {18, 4}, 0.125f, 0);
   OperandType type18(Type::TENSOR_QUANT8_ASYMM, {19, 3}, 0.01f, 0);
-  OperandType type19(Type::TENSOR_QUANT8_ASYMM, {12}, 0.01f, 0);
+  OperandType type19(Type::TENSOR_QUANT8_ASYMM, {18}, 0.01f, 0);
   OperandType type2(Type::TENSOR_INT32, {19});
-  OperandType type5(Type::TENSOR_INT32, {12});
+  OperandType type5(Type::TENSOR_INT32, {18});
   OperandType type6(Type::FLOAT32, {});
   OperandType type7(Type::INT32, {});
   // Phase 1, operands
@@ -136,8 +163,11 @@
   auto roi = model->addOperand(&type16);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type19);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type5);
@@ -145,11 +175,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {2};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {0.5f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -176,8 +212,11 @@
   auto roi = model->addOperand(&type1);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type20);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type22);
@@ -185,11 +224,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {2};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {0.5f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -216,8 +261,11 @@
   auto roi = model->addOperand(&type1);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type20);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type22);
@@ -225,11 +273,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {2};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {0.5f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -258,8 +312,11 @@
   auto roi = model->addOperand(&type12);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type11);
-  auto param1 = model->addOperand(&type11);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type11);
+  auto param4 = model->addOperand(&type11);
+  auto param5 = model->addOperand(&type11);
   auto scoresOut = model->addOperand(&type23);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type22);
@@ -267,11 +324,17 @@
   // Phase 2, operations
   static _Float16 param_init[] = {0.30000001192092896f};
   model->setOperandValue(param, param_init, sizeof(_Float16) * 1);
-  static _Float16 param1_init[] = {0.4000000059604645f};
-  model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {2};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static _Float16 param3_init[] = {0.4000000059604645f};
+  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
+  static _Float16 param4_init[] = {0.5f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {0.30000001192092896f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -298,8 +361,11 @@
   auto roi = model->addOperand(&type16);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type25);
   auto roiOut = model->addOperand(&type26);
   auto classesOut = model->addOperand(&type22);
@@ -307,11 +373,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {2};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {0.5f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -337,21 +409,30 @@
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type8);
   auto roiOut1 = model->addOperand(&type9);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -377,21 +458,30 @@
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type8);
   auto roiOut1 = model->addOperand(&type9);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -419,21 +509,30 @@
   auto scores1 = model->addOperand(&type14);
   auto roi1 = model->addOperand(&type12);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type11);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type11);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type11);
+  auto param10 = model->addOperand(&type11);
+  auto param11 = model->addOperand(&type11);
   auto scoresOut1 = model->addOperand(&type28);
   auto roiOut1 = model->addOperand(&type27);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   // Phase 2, operations
-  static _Float16 param3_init[] = {0.30000001192092896f};
-  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
-  static _Float16 param4_init[] = {0.4000000059604645f};
-  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static _Float16 param6_init[] = {0.30000001192092896f};
+  model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {0.4000000059604645f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static _Float16 param11_init[] = {0.30000001192092896f};
+  model->setOperandValue(param11, param11_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -459,21 +558,30 @@
   auto scores1 = model->addOperand(&type30);
   auto roi1 = model->addOperand(&type16);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type31);
   auto roiOut1 = model->addOperand(&type29);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -499,21 +607,30 @@
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type20);
   auto roiOut1 = model->addOperand(&type21);
   auto classesOut1 = model->addOperand(&type22);
   auto batchSplitOut1 = model->addOperand(&type22);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -539,21 +656,30 @@
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type20);
   auto roiOut1 = model->addOperand(&type21);
   auto classesOut1 = model->addOperand(&type22);
   auto batchSplitOut1 = model->addOperand(&type22);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -581,21 +707,30 @@
   auto scores1 = model->addOperand(&type14);
   auto roi1 = model->addOperand(&type12);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type11);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type11);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type11);
+  auto param10 = model->addOperand(&type11);
+  auto param11 = model->addOperand(&type11);
   auto scoresOut1 = model->addOperand(&type23);
   auto roiOut1 = model->addOperand(&type24);
   auto classesOut1 = model->addOperand(&type22);
   auto batchSplitOut1 = model->addOperand(&type22);
   // Phase 2, operations
-  static _Float16 param3_init[] = {0.30000001192092896f};
-  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
-  static _Float16 param4_init[] = {0.4000000059604645f};
-  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static _Float16 param6_init[] = {0.30000001192092896f};
+  model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {0.4000000059604645f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static _Float16 param11_init[] = {0.30000001192092896f};
+  model->setOperandValue(param11, param11_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -621,21 +756,30 @@
   auto scores1 = model->addOperand(&type30);
   auto roi1 = model->addOperand(&type16);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type32);
   auto roiOut1 = model->addOperand(&type26);
   auto classesOut1 = model->addOperand(&type22);
   auto batchSplitOut1 = model->addOperand(&type22);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
diff --git a/runtime/test/generated/models/box_with_nms_limit.model.cpp b/runtime/test/generated/models/box_with_nms_limit_hard.model.cpp
similarity index 64%
rename from runtime/test/generated/models/box_with_nms_limit.model.cpp
rename to runtime/test/generated/models/box_with_nms_limit_hard.model.cpp
index 4a88468..975ab86 100644
--- a/runtime/test/generated/models/box_with_nms_limit.model.cpp
+++ b/runtime/test/generated/models/box_with_nms_limit_hard.model.cpp
@@ -1,5 +1,5 @@
 // clang-format off
-// Generated file (from: box_with_nms_limit.mod.py). Do not edit
+// Generated file (from: box_with_nms_limit_hard.mod.py). Do not edit
 void CreateModel(Model *model) {
   OperandType type0(Type::TENSOR_FLOAT32, {19, 3});
   OperandType type1(Type::TENSOR_FLOAT32, {19, 12});
@@ -14,8 +14,11 @@
   auto roi = model->addOperand(&type1);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type3);
   auto roiOut = model->addOperand(&type4);
   auto classesOut = model->addOperand(&type5);
@@ -23,11 +26,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {0};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -54,8 +63,11 @@
   auto roi = model->addOperand(&type1);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type3);
   auto roiOut = model->addOperand(&type4);
   auto classesOut = model->addOperand(&type5);
@@ -63,11 +75,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {0};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -96,8 +114,11 @@
   auto roi = model->addOperand(&type12);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type11);
-  auto param1 = model->addOperand(&type11);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type11);
+  auto param4 = model->addOperand(&type11);
+  auto param5 = model->addOperand(&type11);
   auto scoresOut = model->addOperand(&type15);
   auto roiOut = model->addOperand(&type13);
   auto classesOut = model->addOperand(&type5);
@@ -105,11 +126,17 @@
   // Phase 2, operations
   static _Float16 param_init[] = {0.30000001192092896f};
   model->setOperandValue(param, param_init, sizeof(_Float16) * 1);
-  static _Float16 param1_init[] = {0.4000000059604645f};
-  model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {0};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static _Float16 param3_init[] = {0.4000000059604645f};
+  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
+  static _Float16 param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {0.30000001192092896f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -136,8 +163,11 @@
   auto roi = model->addOperand(&type16);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type19);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type5);
@@ -145,11 +175,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {0};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -176,8 +212,11 @@
   auto roi = model->addOperand(&type1);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type20);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type22);
@@ -185,11 +224,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {0};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -216,8 +261,11 @@
   auto roi = model->addOperand(&type1);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type20);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type22);
@@ -225,11 +273,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {0};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -258,8 +312,11 @@
   auto roi = model->addOperand(&type12);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type11);
-  auto param1 = model->addOperand(&type11);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type11);
+  auto param4 = model->addOperand(&type11);
+  auto param5 = model->addOperand(&type11);
   auto scoresOut = model->addOperand(&type23);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type22);
@@ -267,11 +324,17 @@
   // Phase 2, operations
   static _Float16 param_init[] = {0.30000001192092896f};
   model->setOperandValue(param, param_init, sizeof(_Float16) * 1);
-  static _Float16 param1_init[] = {0.4000000059604645f};
-  model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {0};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static _Float16 param3_init[] = {0.4000000059604645f};
+  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
+  static _Float16 param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {0.30000001192092896f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -298,8 +361,11 @@
   auto roi = model->addOperand(&type16);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type25);
   auto roiOut = model->addOperand(&type26);
   auto classesOut = model->addOperand(&type22);
@@ -307,11 +373,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {0};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -337,21 +409,30 @@
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type8);
   auto roiOut1 = model->addOperand(&type9);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {0};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -377,21 +458,30 @@
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type8);
   auto roiOut1 = model->addOperand(&type9);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {0};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -419,21 +509,30 @@
   auto scores1 = model->addOperand(&type14);
   auto roi1 = model->addOperand(&type12);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type11);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type11);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type11);
+  auto param10 = model->addOperand(&type11);
+  auto param11 = model->addOperand(&type11);
   auto scoresOut1 = model->addOperand(&type28);
   auto roiOut1 = model->addOperand(&type27);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   // Phase 2, operations
-  static _Float16 param3_init[] = {0.30000001192092896f};
-  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
-  static _Float16 param4_init[] = {0.4000000059604645f};
-  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static _Float16 param6_init[] = {0.30000001192092896f};
+  model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {0};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {0.4000000059604645f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static _Float16 param11_init[] = {0.30000001192092896f};
+  model->setOperandValue(param11, param11_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -459,21 +558,30 @@
   auto scores1 = model->addOperand(&type30);
   auto roi1 = model->addOperand(&type16);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type31);
   auto roiOut1 = model->addOperand(&type29);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {0};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -499,21 +607,30 @@
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type20);
   auto roiOut1 = model->addOperand(&type21);
   auto classesOut1 = model->addOperand(&type22);
   auto batchSplitOut1 = model->addOperand(&type22);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {0};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -539,21 +656,30 @@
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type20);
   auto roiOut1 = model->addOperand(&type21);
   auto classesOut1 = model->addOperand(&type22);
   auto batchSplitOut1 = model->addOperand(&type22);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {0};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -581,21 +707,30 @@
   auto scores1 = model->addOperand(&type14);
   auto roi1 = model->addOperand(&type12);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type11);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type11);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type11);
+  auto param10 = model->addOperand(&type11);
+  auto param11 = model->addOperand(&type11);
   auto scoresOut1 = model->addOperand(&type23);
   auto roiOut1 = model->addOperand(&type24);
   auto classesOut1 = model->addOperand(&type22);
   auto batchSplitOut1 = model->addOperand(&type22);
   // Phase 2, operations
-  static _Float16 param3_init[] = {0.30000001192092896f};
-  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
-  static _Float16 param4_init[] = {0.4000000059604645f};
-  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static _Float16 param6_init[] = {0.30000001192092896f};
+  model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {0};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {0.4000000059604645f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static _Float16 param11_init[] = {0.30000001192092896f};
+  model->setOperandValue(param11, param11_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -621,21 +756,30 @@
   auto scores1 = model->addOperand(&type30);
   auto roi1 = model->addOperand(&type16);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type32);
   auto roiOut1 = model->addOperand(&type26);
   auto classesOut1 = model->addOperand(&type22);
   auto batchSplitOut1 = model->addOperand(&type22);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {5};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {0};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
diff --git a/runtime/test/generated/models/box_with_nms_limit.model.cpp b/runtime/test/generated/models/box_with_nms_limit_linear.model.cpp
similarity index 61%
copy from runtime/test/generated/models/box_with_nms_limit.model.cpp
copy to runtime/test/generated/models/box_with_nms_limit_linear.model.cpp
index 4a88468..6c3d548 100644
--- a/runtime/test/generated/models/box_with_nms_limit.model.cpp
+++ b/runtime/test/generated/models/box_with_nms_limit_linear.model.cpp
@@ -1,12 +1,12 @@
 // clang-format off
-// Generated file (from: box_with_nms_limit.mod.py). Do not edit
+// Generated file (from: box_with_nms_limit_linear.mod.py). Do not edit
 void CreateModel(Model *model) {
   OperandType type0(Type::TENSOR_FLOAT32, {19, 3});
   OperandType type1(Type::TENSOR_FLOAT32, {19, 12});
   OperandType type2(Type::TENSOR_INT32, {19});
-  OperandType type3(Type::TENSOR_FLOAT32, {12});
-  OperandType type4(Type::TENSOR_FLOAT32, {12, 4});
-  OperandType type5(Type::TENSOR_INT32, {12});
+  OperandType type3(Type::TENSOR_FLOAT32, {16});
+  OperandType type4(Type::TENSOR_FLOAT32, {16, 4});
+  OperandType type5(Type::TENSOR_INT32, {16});
   OperandType type6(Type::FLOAT32, {});
   OperandType type7(Type::INT32, {});
   // Phase 1, operands
@@ -14,8 +14,11 @@
   auto roi = model->addOperand(&type1);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type3);
   auto roiOut = model->addOperand(&type4);
   auto classesOut = model->addOperand(&type5);
@@ -23,11 +26,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {1};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -44,9 +53,9 @@
   OperandType type0(Type::TENSOR_FLOAT32, {19, 3});
   OperandType type1(Type::TENSOR_FLOAT32, {19, 12});
   OperandType type2(Type::TENSOR_INT32, {19});
-  OperandType type3(Type::TENSOR_FLOAT32, {12});
-  OperandType type4(Type::TENSOR_FLOAT32, {12, 4});
-  OperandType type5(Type::TENSOR_INT32, {12});
+  OperandType type3(Type::TENSOR_FLOAT32, {16});
+  OperandType type4(Type::TENSOR_FLOAT32, {16, 4});
+  OperandType type5(Type::TENSOR_INT32, {16});
   OperandType type6(Type::FLOAT32, {});
   OperandType type7(Type::INT32, {});
   // Phase 1, operands
@@ -54,8 +63,11 @@
   auto roi = model->addOperand(&type1);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type3);
   auto roiOut = model->addOperand(&type4);
   auto classesOut = model->addOperand(&type5);
@@ -63,11 +75,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {1};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -85,19 +103,22 @@
 void CreateModel_float16(Model *model) {
   OperandType type11(Type::FLOAT16, {});
   OperandType type12(Type::TENSOR_FLOAT16, {19, 12});
-  OperandType type13(Type::TENSOR_FLOAT16, {12, 4});
+  OperandType type13(Type::TENSOR_FLOAT16, {16, 4});
   OperandType type14(Type::TENSOR_FLOAT16, {19, 3});
-  OperandType type15(Type::TENSOR_FLOAT16, {12});
+  OperandType type15(Type::TENSOR_FLOAT16, {16});
   OperandType type2(Type::TENSOR_INT32, {19});
-  OperandType type5(Type::TENSOR_INT32, {12});
+  OperandType type5(Type::TENSOR_INT32, {16});
   OperandType type7(Type::INT32, {});
   // Phase 1, operands
   auto scores = model->addOperand(&type14);
   auto roi = model->addOperand(&type12);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type11);
-  auto param1 = model->addOperand(&type11);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type11);
+  auto param4 = model->addOperand(&type11);
+  auto param5 = model->addOperand(&type11);
   auto scoresOut = model->addOperand(&type15);
   auto roiOut = model->addOperand(&type13);
   auto classesOut = model->addOperand(&type5);
@@ -105,11 +126,17 @@
   // Phase 2, operations
   static _Float16 param_init[] = {0.30000001192092896f};
   model->setOperandValue(param, param_init, sizeof(_Float16) * 1);
-  static _Float16 param1_init[] = {0.4000000059604645f};
-  model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {1};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static _Float16 param3_init[] = {0.4000000059604645f};
+  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
+  static _Float16 param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {0.30000001192092896f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -124,11 +151,11 @@
 
 void CreateModel_quant8(Model *model) {
   OperandType type16(Type::TENSOR_QUANT16_ASYMM, {19, 12}, 0.125f, 0);
-  OperandType type17(Type::TENSOR_QUANT16_ASYMM, {12, 4}, 0.125f, 0);
+  OperandType type17(Type::TENSOR_QUANT16_ASYMM, {16, 4}, 0.125f, 0);
   OperandType type18(Type::TENSOR_QUANT8_ASYMM, {19, 3}, 0.01f, 0);
-  OperandType type19(Type::TENSOR_QUANT8_ASYMM, {12}, 0.01f, 0);
+  OperandType type19(Type::TENSOR_QUANT8_ASYMM, {16}, 0.01f, 0);
   OperandType type2(Type::TENSOR_INT32, {19});
-  OperandType type5(Type::TENSOR_INT32, {12});
+  OperandType type5(Type::TENSOR_INT32, {16});
   OperandType type6(Type::FLOAT32, {});
   OperandType type7(Type::INT32, {});
   // Phase 1, operands
@@ -136,8 +163,11 @@
   auto roi = model->addOperand(&type16);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type19);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type5);
@@ -145,11 +175,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {1};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -176,8 +212,11 @@
   auto roi = model->addOperand(&type1);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type20);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type22);
@@ -185,11 +224,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {1};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -216,8 +261,11 @@
   auto roi = model->addOperand(&type1);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type20);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type22);
@@ -225,11 +273,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {1};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -258,8 +312,11 @@
   auto roi = model->addOperand(&type12);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type11);
-  auto param1 = model->addOperand(&type11);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type11);
+  auto param4 = model->addOperand(&type11);
+  auto param5 = model->addOperand(&type11);
   auto scoresOut = model->addOperand(&type23);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type22);
@@ -267,11 +324,17 @@
   // Phase 2, operations
   static _Float16 param_init[] = {0.30000001192092896f};
   model->setOperandValue(param, param_init, sizeof(_Float16) * 1);
-  static _Float16 param1_init[] = {0.4000000059604645f};
-  model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {1};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static _Float16 param3_init[] = {0.4000000059604645f};
+  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
+  static _Float16 param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {0.30000001192092896f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -298,8 +361,11 @@
   auto roi = model->addOperand(&type16);
   auto batchSplit = model->addOperand(&type2);
   auto param = model->addOperand(&type6);
-  auto param1 = model->addOperand(&type6);
+  auto param1 = model->addOperand(&type7);
   auto param2 = model->addOperand(&type7);
+  auto param3 = model->addOperand(&type6);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type25);
   auto roiOut = model->addOperand(&type26);
   auto classesOut = model->addOperand(&type22);
@@ -307,11 +373,17 @@
   // Phase 2, operations
   static float param_init[] = {0.3f};
   model->setOperandValue(param, param_init, sizeof(float) * 1);
-  static float param1_init[] = {0.4f};
-  model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static int32_t param2_init[] = {-1};
+  static int32_t param1_init[] = {-1};
+  model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
+  static int32_t param2_init[] = {1};
   model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  static float param3_init[] = {0.4f};
+  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
+  static float param4_init[] = {1.0f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {0.3f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, batchSplit, param, param1, param2, param3, param4, param5}, {scoresOut, roiOut, classesOut, batchSplitOut});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores, roi, batchSplit},
@@ -327,31 +399,40 @@
 void CreateModel_2(Model *model) {
   OperandType type0(Type::TENSOR_FLOAT32, {19, 3});
   OperandType type1(Type::TENSOR_FLOAT32, {19, 12});
-  OperandType type10(Type::TENSOR_INT32, {10});
+  OperandType type10(Type::TENSOR_INT32, {15});
   OperandType type2(Type::TENSOR_INT32, {19});
   OperandType type6(Type::FLOAT32, {});
   OperandType type7(Type::INT32, {});
-  OperandType type8(Type::TENSOR_FLOAT32, {10});
-  OperandType type9(Type::TENSOR_FLOAT32, {10, 4});
+  OperandType type8(Type::TENSOR_FLOAT32, {15});
+  OperandType type9(Type::TENSOR_FLOAT32, {15, 4});
   // Phase 1, operands
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type8);
   auto roiOut1 = model->addOperand(&type9);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {8};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {1};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -367,31 +448,40 @@
 void CreateModel_relaxed_2(Model *model) {
   OperandType type0(Type::TENSOR_FLOAT32, {19, 3});
   OperandType type1(Type::TENSOR_FLOAT32, {19, 12});
-  OperandType type10(Type::TENSOR_INT32, {10});
+  OperandType type10(Type::TENSOR_INT32, {15});
   OperandType type2(Type::TENSOR_INT32, {19});
   OperandType type6(Type::FLOAT32, {});
   OperandType type7(Type::INT32, {});
-  OperandType type8(Type::TENSOR_FLOAT32, {10});
-  OperandType type9(Type::TENSOR_FLOAT32, {10, 4});
+  OperandType type8(Type::TENSOR_FLOAT32, {15});
+  OperandType type9(Type::TENSOR_FLOAT32, {15, 4});
   // Phase 1, operands
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type8);
   auto roiOut1 = model->addOperand(&type9);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {8};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {1};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -407,33 +497,42 @@
 }
 
 void CreateModel_float16_2(Model *model) {
-  OperandType type10(Type::TENSOR_INT32, {10});
+  OperandType type10(Type::TENSOR_INT32, {15});
   OperandType type11(Type::FLOAT16, {});
   OperandType type12(Type::TENSOR_FLOAT16, {19, 12});
   OperandType type14(Type::TENSOR_FLOAT16, {19, 3});
   OperandType type2(Type::TENSOR_INT32, {19});
-  OperandType type27(Type::TENSOR_FLOAT16, {10, 4});
-  OperandType type28(Type::TENSOR_FLOAT16, {10});
+  OperandType type27(Type::TENSOR_FLOAT16, {15, 4});
+  OperandType type28(Type::TENSOR_FLOAT16, {15});
   OperandType type7(Type::INT32, {});
   // Phase 1, operands
   auto scores1 = model->addOperand(&type14);
   auto roi1 = model->addOperand(&type12);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type11);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type11);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type11);
+  auto param10 = model->addOperand(&type11);
+  auto param11 = model->addOperand(&type11);
   auto scoresOut1 = model->addOperand(&type28);
   auto roiOut1 = model->addOperand(&type27);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   // Phase 2, operations
-  static _Float16 param3_init[] = {0.30000001192092896f};
-  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
-  static _Float16 param4_init[] = {0.4000000059604645f};
-  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static _Float16 param6_init[] = {0.30000001192092896f};
+  model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
+  static int32_t param7_init[] = {8};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {1};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {0.4000000059604645f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static _Float16 param11_init[] = {0.30000001192092896f};
+  model->setOperandValue(param11, param11_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -447,33 +546,42 @@
 }
 
 void CreateModel_quant8_2(Model *model) {
-  OperandType type10(Type::TENSOR_INT32, {10});
+  OperandType type10(Type::TENSOR_INT32, {15});
   OperandType type16(Type::TENSOR_QUANT16_ASYMM, {19, 12}, 0.125f, 0);
   OperandType type2(Type::TENSOR_INT32, {19});
-  OperandType type29(Type::TENSOR_QUANT16_ASYMM, {10, 4}, 0.125f, 0);
+  OperandType type29(Type::TENSOR_QUANT16_ASYMM, {15, 4}, 0.125f, 0);
   OperandType type30(Type::TENSOR_QUANT8_ASYMM, {19, 3}, 0.01f, 128);
-  OperandType type31(Type::TENSOR_QUANT8_ASYMM, {10}, 0.01f, 128);
+  OperandType type31(Type::TENSOR_QUANT8_ASYMM, {15}, 0.01f, 128);
   OperandType type6(Type::FLOAT32, {});
   OperandType type7(Type::INT32, {});
   // Phase 1, operands
   auto scores1 = model->addOperand(&type30);
   auto roi1 = model->addOperand(&type16);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type31);
   auto roiOut1 = model->addOperand(&type29);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {8};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {1};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -499,21 +607,30 @@
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type20);
   auto roiOut1 = model->addOperand(&type21);
   auto classesOut1 = model->addOperand(&type22);
   auto batchSplitOut1 = model->addOperand(&type22);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {8};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {1};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -539,21 +656,30 @@
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type20);
   auto roiOut1 = model->addOperand(&type21);
   auto classesOut1 = model->addOperand(&type22);
   auto batchSplitOut1 = model->addOperand(&type22);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {8};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {1};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -581,21 +707,30 @@
   auto scores1 = model->addOperand(&type14);
   auto roi1 = model->addOperand(&type12);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type11);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type11);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type11);
+  auto param10 = model->addOperand(&type11);
+  auto param11 = model->addOperand(&type11);
   auto scoresOut1 = model->addOperand(&type23);
   auto roiOut1 = model->addOperand(&type24);
   auto classesOut1 = model->addOperand(&type22);
   auto batchSplitOut1 = model->addOperand(&type22);
   // Phase 2, operations
-  static _Float16 param3_init[] = {0.30000001192092896f};
-  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
-  static _Float16 param4_init[] = {0.4000000059604645f};
-  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static _Float16 param6_init[] = {0.30000001192092896f};
+  model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
+  static int32_t param7_init[] = {8};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {1};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {0.4000000059604645f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static _Float16 param11_init[] = {0.30000001192092896f};
+  model->setOperandValue(param11, param11_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
@@ -621,21 +756,30 @@
   auto scores1 = model->addOperand(&type30);
   auto roi1 = model->addOperand(&type16);
   auto batchSplit1 = model->addOperand(&type2);
-  auto param3 = model->addOperand(&type6);
-  auto param4 = model->addOperand(&type6);
-  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
+  auto param8 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type32);
   auto roiOut1 = model->addOperand(&type26);
   auto classesOut1 = model->addOperand(&type22);
   auto batchSplitOut1 = model->addOperand(&type22);
   // Phase 2, operations
-  static float param3_init[] = {0.3f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static float param4_init[] = {0.4f};
-  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
-  static int32_t param5_init[] = {5};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param3, param4, param5}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  static float param6_init[] = {0.3f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static int32_t param7_init[] = {8};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {1};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {0.4f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.5f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {0.3f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, batchSplit1, param6, param7, param8, param9, param10, param11}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {scores1, roi1, batchSplit1},
diff --git a/runtime/test/generated/models/concat_zero_sized.model.cpp b/runtime/test/generated/models/concat_zero_sized.model.cpp
index c5d52b1..ea3d270 100644
--- a/runtime/test/generated/models/concat_zero_sized.model.cpp
+++ b/runtime/test/generated/models/concat_zero_sized.model.cpp
@@ -18,22 +18,25 @@
   auto roi = model->addOperand(&type1);
   auto param = model->addOperand(&type5);
   auto param1 = model->addOperand(&type6);
-  auto param2 = model->addOperand(&type6);
+  auto param2 = model->addOperand(&type7);
   auto param3 = model->addOperand(&type7);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
+  auto param6 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type2);
   auto roiOut = model->addOperand(&type4);
   auto classesOut = model->addOperand(&type3);
   auto batchSplitOut = model->addOperand(&type3);
   auto in = model->addOperand(&type9);
-  auto param4 = model->addOperand(&type7);
-  auto param5 = model->addOperand(&type7);
-  auto param6 = model->addOperand(&type6);
-  auto param7 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
   auto param8 = model->addOperand(&type7);
-  auto param9 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type7);
+  auto param12 = model->addOperand(&type7);
   auto layout = model->addOperand(&type8);
   auto featureMap = model->addOperand(&type10);
-  auto param10 = model->addOperand(&type7);
+  auto param13 = model->addOperand(&type7);
   auto out = model->addOperand(&type11);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -44,29 +47,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {3};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param10}, {out});
+  static int32_t param13_init[] = {3};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -97,22 +106,25 @@
   auto roi = model->addOperand(&type1);
   auto param = model->addOperand(&type5);
   auto param1 = model->addOperand(&type6);
-  auto param2 = model->addOperand(&type6);
+  auto param2 = model->addOperand(&type7);
   auto param3 = model->addOperand(&type7);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
+  auto param6 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type2);
   auto roiOut = model->addOperand(&type4);
   auto classesOut = model->addOperand(&type3);
   auto batchSplitOut = model->addOperand(&type3);
   auto in = model->addOperand(&type9);
-  auto param4 = model->addOperand(&type7);
-  auto param5 = model->addOperand(&type7);
-  auto param6 = model->addOperand(&type6);
-  auto param7 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
   auto param8 = model->addOperand(&type7);
-  auto param9 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type7);
+  auto param12 = model->addOperand(&type7);
   auto layout = model->addOperand(&type8);
   auto featureMap = model->addOperand(&type10);
-  auto param10 = model->addOperand(&type7);
+  auto param13 = model->addOperand(&type7);
   auto out = model->addOperand(&type11);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -123,29 +135,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {3};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param10}, {out});
+  static int32_t param13_init[] = {3};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -178,22 +196,25 @@
   auto roi = model->addOperand(&type16);
   auto param = model->addOperand(&type5);
   auto param1 = model->addOperand(&type6);
-  auto param2 = model->addOperand(&type6);
+  auto param2 = model->addOperand(&type7);
   auto param3 = model->addOperand(&type7);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
+  auto param6 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type19);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type3);
   auto batchSplitOut = model->addOperand(&type3);
   auto in = model->addOperand(&type14);
-  auto param4 = model->addOperand(&type7);
-  auto param5 = model->addOperand(&type7);
-  auto param6 = model->addOperand(&type6);
-  auto param7 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
   auto param8 = model->addOperand(&type7);
-  auto param9 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type7);
+  auto param12 = model->addOperand(&type7);
   auto layout = model->addOperand(&type8);
   auto featureMap = model->addOperand(&type13);
-  auto param10 = model->addOperand(&type7);
+  auto param13 = model->addOperand(&type7);
   auto out = model->addOperand(&type15);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -204,29 +225,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {3};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param10}, {out});
+  static int32_t param13_init[] = {3};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -257,22 +284,25 @@
   auto roi = model->addOperand(&type24);
   auto param = model->addOperand(&type5);
   auto param1 = model->addOperand(&type23);
-  auto param2 = model->addOperand(&type23);
+  auto param2 = model->addOperand(&type7);
   auto param3 = model->addOperand(&type7);
+  auto param4 = model->addOperand(&type23);
+  auto param5 = model->addOperand(&type23);
+  auto param6 = model->addOperand(&type23);
   auto scoresOut = model->addOperand(&type27);
   auto roiOut = model->addOperand(&type25);
   auto classesOut = model->addOperand(&type3);
   auto batchSplitOut = model->addOperand(&type3);
   auto in = model->addOperand(&type21);
-  auto param4 = model->addOperand(&type7);
-  auto param5 = model->addOperand(&type7);
-  auto param6 = model->addOperand(&type23);
-  auto param7 = model->addOperand(&type23);
+  auto param7 = model->addOperand(&type7);
   auto param8 = model->addOperand(&type7);
-  auto param9 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type23);
+  auto param10 = model->addOperand(&type23);
+  auto param11 = model->addOperand(&type7);
+  auto param12 = model->addOperand(&type7);
   auto layout = model->addOperand(&type8);
   auto featureMap = model->addOperand(&type20);
-  auto param10 = model->addOperand(&type7);
+  auto param13 = model->addOperand(&type7);
   auto out = model->addOperand(&type22);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -283,29 +313,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {3};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param10}, {out});
+  static int32_t param13_init[] = {3};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -336,22 +372,25 @@
   auto roi = model->addOperand(&type1);
   auto param = model->addOperand(&type5);
   auto param1 = model->addOperand(&type6);
-  auto param2 = model->addOperand(&type6);
+  auto param2 = model->addOperand(&type7);
   auto param3 = model->addOperand(&type7);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
+  auto param6 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type2);
   auto roiOut = model->addOperand(&type4);
   auto classesOut = model->addOperand(&type3);
   auto batchSplitOut = model->addOperand(&type3);
   auto in = model->addOperand(&type9);
-  auto param4 = model->addOperand(&type7);
-  auto param5 = model->addOperand(&type7);
-  auto param6 = model->addOperand(&type6);
-  auto param7 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
   auto param8 = model->addOperand(&type7);
-  auto param9 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type7);
+  auto param12 = model->addOperand(&type7);
   auto layout = model->addOperand(&type8);
   auto featureMap = model->addOperand(&type10);
-  auto param10 = model->addOperand(&type7);
+  auto param13 = model->addOperand(&type7);
   auto out = model->addOperand(&type28);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -362,29 +401,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {3};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param10}, {out});
+  static int32_t param13_init[] = {3};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -415,22 +460,25 @@
   auto roi = model->addOperand(&type1);
   auto param = model->addOperand(&type5);
   auto param1 = model->addOperand(&type6);
-  auto param2 = model->addOperand(&type6);
+  auto param2 = model->addOperand(&type7);
   auto param3 = model->addOperand(&type7);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
+  auto param6 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type2);
   auto roiOut = model->addOperand(&type4);
   auto classesOut = model->addOperand(&type3);
   auto batchSplitOut = model->addOperand(&type3);
   auto in = model->addOperand(&type9);
-  auto param4 = model->addOperand(&type7);
-  auto param5 = model->addOperand(&type7);
-  auto param6 = model->addOperand(&type6);
-  auto param7 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
   auto param8 = model->addOperand(&type7);
-  auto param9 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type7);
+  auto param12 = model->addOperand(&type7);
   auto layout = model->addOperand(&type8);
   auto featureMap = model->addOperand(&type10);
-  auto param10 = model->addOperand(&type7);
+  auto param13 = model->addOperand(&type7);
   auto out = model->addOperand(&type28);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -441,29 +489,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {3};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param10}, {out});
+  static int32_t param13_init[] = {3};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -496,22 +550,25 @@
   auto roi = model->addOperand(&type16);
   auto param = model->addOperand(&type5);
   auto param1 = model->addOperand(&type6);
-  auto param2 = model->addOperand(&type6);
+  auto param2 = model->addOperand(&type7);
   auto param3 = model->addOperand(&type7);
+  auto param4 = model->addOperand(&type6);
+  auto param5 = model->addOperand(&type6);
+  auto param6 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type19);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type3);
   auto batchSplitOut = model->addOperand(&type3);
   auto in = model->addOperand(&type14);
-  auto param4 = model->addOperand(&type7);
-  auto param5 = model->addOperand(&type7);
-  auto param6 = model->addOperand(&type6);
-  auto param7 = model->addOperand(&type6);
+  auto param7 = model->addOperand(&type7);
   auto param8 = model->addOperand(&type7);
-  auto param9 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type6);
+  auto param10 = model->addOperand(&type6);
+  auto param11 = model->addOperand(&type7);
+  auto param12 = model->addOperand(&type7);
   auto layout = model->addOperand(&type8);
   auto featureMap = model->addOperand(&type13);
-  auto param10 = model->addOperand(&type7);
+  auto param13 = model->addOperand(&type7);
   auto out = model->addOperand(&type29);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -522,29 +579,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {3};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param10}, {out});
+  static int32_t param13_init[] = {3};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -575,22 +638,25 @@
   auto roi = model->addOperand(&type24);
   auto param = model->addOperand(&type5);
   auto param1 = model->addOperand(&type23);
-  auto param2 = model->addOperand(&type23);
+  auto param2 = model->addOperand(&type7);
   auto param3 = model->addOperand(&type7);
+  auto param4 = model->addOperand(&type23);
+  auto param5 = model->addOperand(&type23);
+  auto param6 = model->addOperand(&type23);
   auto scoresOut = model->addOperand(&type30);
   auto roiOut = model->addOperand(&type25);
   auto classesOut = model->addOperand(&type3);
   auto batchSplitOut = model->addOperand(&type3);
   auto in = model->addOperand(&type21);
-  auto param4 = model->addOperand(&type7);
-  auto param5 = model->addOperand(&type7);
-  auto param6 = model->addOperand(&type23);
-  auto param7 = model->addOperand(&type23);
+  auto param7 = model->addOperand(&type7);
   auto param8 = model->addOperand(&type7);
-  auto param9 = model->addOperand(&type7);
+  auto param9 = model->addOperand(&type23);
+  auto param10 = model->addOperand(&type23);
+  auto param11 = model->addOperand(&type7);
+  auto param12 = model->addOperand(&type7);
   auto layout = model->addOperand(&type8);
   auto featureMap = model->addOperand(&type20);
-  auto param10 = model->addOperand(&type7);
+  auto param13 = model->addOperand(&type7);
   auto out = model->addOperand(&type31);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -601,29 +667,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {3};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param10}, {out});
+  static int32_t param13_init[] = {3};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap, featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -652,58 +724,67 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
-  auto param11 = model->addOperand(&type5);
-  auto param12 = model->addOperand(&type6);
-  auto param13 = model->addOperand(&type6);
-  auto param14 = model->addOperand(&type7);
+  auto param14 = model->addOperand(&type5);
+  auto param15 = model->addOperand(&type6);
+  auto param16 = model->addOperand(&type7);
+  auto param17 = model->addOperand(&type7);
+  auto param18 = model->addOperand(&type6);
+  auto param19 = model->addOperand(&type6);
+  auto param20 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type2);
   auto roiOut1 = model->addOperand(&type4);
   auto classesOut1 = model->addOperand(&type3);
   auto batchSplitOut1 = model->addOperand(&type3);
   auto in1 = model->addOperand(&type9);
-  auto param15 = model->addOperand(&type7);
-  auto param16 = model->addOperand(&type7);
-  auto param17 = model->addOperand(&type6);
-  auto param18 = model->addOperand(&type6);
-  auto param19 = model->addOperand(&type7);
-  auto param20 = model->addOperand(&type7);
+  auto param21 = model->addOperand(&type7);
+  auto param22 = model->addOperand(&type7);
+  auto param23 = model->addOperand(&type6);
+  auto param24 = model->addOperand(&type6);
+  auto param25 = model->addOperand(&type7);
+  auto param26 = model->addOperand(&type7);
   auto layout1 = model->addOperand(&type8);
   auto featureMap1 = model->addOperand(&type10);
   auto in2 = model->addOperand(&type12);
-  auto param21 = model->addOperand(&type7);
+  auto param27 = model->addOperand(&type7);
   auto out1 = model->addOperand(&type12);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  static float param12_init[] = {0.3f};
-  model->setOperandValue(param12, param12_init, sizeof(float) * 1);
-  static float param13_init[] = {0.4f};
-  model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static int32_t param14_init[] = {-1};
+  static int32_t param14_init[] = {0};
   model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
-  static int32_t param15_init[] = {2};
-  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
+  static float param15_init[] = {0.3f};
+  model->setOperandValue(param15, param15_init, sizeof(float) * 1);
+  static int32_t param16_init[] = {-1};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static float param17_init[] = {2.0f};
-  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
-  static float param18_init[] = {2.0f};
+  static int32_t param17_init[] = {0};
+  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
+  static float param18_init[] = {0.4f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static int32_t param19_init[] = {4};
-  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
-  static int32_t param20_init[] = {4};
-  model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
+  static float param19_init[] = {1.0f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
+  static float param20_init[] = {0.3f};
+  model->setOperandValue(param20, param20_init, sizeof(float) * 1);
+  static int32_t param21_init[] = {2};
+  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static int32_t param22_init[] = {2};
+  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
+  static float param23_init[] = {2.0f};
+  model->setOperandValue(param23, param23_init, sizeof(float) * 1);
+  static float param24_init[] = {2.0f};
+  model->setOperandValue(param24, param24_init, sizeof(float) * 1);
+  static int32_t param25_init[] = {4};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {4};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static bool8 layout1_init[] = {false};
   model->setOperandValue(layout1, layout1_init, sizeof(bool8) * 1);
-  static int32_t param21_init[] = {0};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param11, param12, param13, param14}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param15, param16, param17, param18, param19, param20, layout1}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param21}, {out1});
+  static int32_t param27_init[] = {0};
+  model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param14, param15, param16, param17, param18, param19, param20}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param21, param22, param23, param24, param25, param26, layout1}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param27}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1, in2},
@@ -732,58 +813,67 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
-  auto param11 = model->addOperand(&type5);
-  auto param12 = model->addOperand(&type6);
-  auto param13 = model->addOperand(&type6);
-  auto param14 = model->addOperand(&type7);
+  auto param14 = model->addOperand(&type5);
+  auto param15 = model->addOperand(&type6);
+  auto param16 = model->addOperand(&type7);
+  auto param17 = model->addOperand(&type7);
+  auto param18 = model->addOperand(&type6);
+  auto param19 = model->addOperand(&type6);
+  auto param20 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type2);
   auto roiOut1 = model->addOperand(&type4);
   auto classesOut1 = model->addOperand(&type3);
   auto batchSplitOut1 = model->addOperand(&type3);
   auto in1 = model->addOperand(&type9);
-  auto param15 = model->addOperand(&type7);
-  auto param16 = model->addOperand(&type7);
-  auto param17 = model->addOperand(&type6);
-  auto param18 = model->addOperand(&type6);
-  auto param19 = model->addOperand(&type7);
-  auto param20 = model->addOperand(&type7);
+  auto param21 = model->addOperand(&type7);
+  auto param22 = model->addOperand(&type7);
+  auto param23 = model->addOperand(&type6);
+  auto param24 = model->addOperand(&type6);
+  auto param25 = model->addOperand(&type7);
+  auto param26 = model->addOperand(&type7);
   auto layout1 = model->addOperand(&type8);
   auto featureMap1 = model->addOperand(&type10);
   auto in2 = model->addOperand(&type12);
-  auto param21 = model->addOperand(&type7);
+  auto param27 = model->addOperand(&type7);
   auto out1 = model->addOperand(&type12);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  static float param12_init[] = {0.3f};
-  model->setOperandValue(param12, param12_init, sizeof(float) * 1);
-  static float param13_init[] = {0.4f};
-  model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static int32_t param14_init[] = {-1};
+  static int32_t param14_init[] = {0};
   model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
-  static int32_t param15_init[] = {2};
-  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
+  static float param15_init[] = {0.3f};
+  model->setOperandValue(param15, param15_init, sizeof(float) * 1);
+  static int32_t param16_init[] = {-1};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static float param17_init[] = {2.0f};
-  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
-  static float param18_init[] = {2.0f};
+  static int32_t param17_init[] = {0};
+  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
+  static float param18_init[] = {0.4f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static int32_t param19_init[] = {4};
-  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
-  static int32_t param20_init[] = {4};
-  model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
+  static float param19_init[] = {1.0f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
+  static float param20_init[] = {0.3f};
+  model->setOperandValue(param20, param20_init, sizeof(float) * 1);
+  static int32_t param21_init[] = {2};
+  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static int32_t param22_init[] = {2};
+  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
+  static float param23_init[] = {2.0f};
+  model->setOperandValue(param23, param23_init, sizeof(float) * 1);
+  static float param24_init[] = {2.0f};
+  model->setOperandValue(param24, param24_init, sizeof(float) * 1);
+  static int32_t param25_init[] = {4};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {4};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static bool8 layout1_init[] = {false};
   model->setOperandValue(layout1, layout1_init, sizeof(bool8) * 1);
-  static int32_t param21_init[] = {0};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param11, param12, param13, param14}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param15, param16, param17, param18, param19, param20, layout1}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param21}, {out1});
+  static int32_t param27_init[] = {0};
+  model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param14, param15, param16, param17, param18, param19, param20}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param21, param22, param23, param24, param25, param26, layout1}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param27}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1, in2},
@@ -815,58 +905,67 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type18);
   auto roi1 = model->addOperand(&type16);
-  auto param11 = model->addOperand(&type5);
-  auto param12 = model->addOperand(&type6);
-  auto param13 = model->addOperand(&type6);
-  auto param14 = model->addOperand(&type7);
+  auto param14 = model->addOperand(&type5);
+  auto param15 = model->addOperand(&type6);
+  auto param16 = model->addOperand(&type7);
+  auto param17 = model->addOperand(&type7);
+  auto param18 = model->addOperand(&type6);
+  auto param19 = model->addOperand(&type6);
+  auto param20 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type19);
   auto roiOut1 = model->addOperand(&type17);
   auto classesOut1 = model->addOperand(&type3);
   auto batchSplitOut1 = model->addOperand(&type3);
   auto in1 = model->addOperand(&type14);
-  auto param15 = model->addOperand(&type7);
-  auto param16 = model->addOperand(&type7);
-  auto param17 = model->addOperand(&type6);
-  auto param18 = model->addOperand(&type6);
-  auto param19 = model->addOperand(&type7);
-  auto param20 = model->addOperand(&type7);
+  auto param21 = model->addOperand(&type7);
+  auto param22 = model->addOperand(&type7);
+  auto param23 = model->addOperand(&type6);
+  auto param24 = model->addOperand(&type6);
+  auto param25 = model->addOperand(&type7);
+  auto param26 = model->addOperand(&type7);
   auto layout1 = model->addOperand(&type8);
   auto featureMap1 = model->addOperand(&type13);
   auto in2 = model->addOperand(&type32);
-  auto param21 = model->addOperand(&type7);
+  auto param27 = model->addOperand(&type7);
   auto out1 = model->addOperand(&type33);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  static float param12_init[] = {0.3f};
-  model->setOperandValue(param12, param12_init, sizeof(float) * 1);
-  static float param13_init[] = {0.4f};
-  model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static int32_t param14_init[] = {-1};
+  static int32_t param14_init[] = {0};
   model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
-  static int32_t param15_init[] = {2};
-  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
+  static float param15_init[] = {0.3f};
+  model->setOperandValue(param15, param15_init, sizeof(float) * 1);
+  static int32_t param16_init[] = {-1};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static float param17_init[] = {2.0f};
-  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
-  static float param18_init[] = {2.0f};
+  static int32_t param17_init[] = {0};
+  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
+  static float param18_init[] = {0.4f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static int32_t param19_init[] = {4};
-  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
-  static int32_t param20_init[] = {4};
-  model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
+  static float param19_init[] = {1.0f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
+  static float param20_init[] = {0.3f};
+  model->setOperandValue(param20, param20_init, sizeof(float) * 1);
+  static int32_t param21_init[] = {2};
+  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static int32_t param22_init[] = {2};
+  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
+  static float param23_init[] = {2.0f};
+  model->setOperandValue(param23, param23_init, sizeof(float) * 1);
+  static float param24_init[] = {2.0f};
+  model->setOperandValue(param24, param24_init, sizeof(float) * 1);
+  static int32_t param25_init[] = {4};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {4};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static bool8 layout1_init[] = {false};
   model->setOperandValue(layout1, layout1_init, sizeof(bool8) * 1);
-  static int32_t param21_init[] = {0};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param11, param12, param13, param14}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param15, param16, param17, param18, param19, param20, layout1}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param21}, {out1});
+  static int32_t param27_init[] = {0};
+  model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param14, param15, param16, param17, param18, param19, param20}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param21, param22, param23, param24, param25, param26, layout1}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param27}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1, in2},
@@ -895,58 +994,67 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type26);
   auto roi1 = model->addOperand(&type24);
-  auto param11 = model->addOperand(&type5);
-  auto param12 = model->addOperand(&type23);
-  auto param13 = model->addOperand(&type23);
-  auto param14 = model->addOperand(&type7);
+  auto param14 = model->addOperand(&type5);
+  auto param15 = model->addOperand(&type23);
+  auto param16 = model->addOperand(&type7);
+  auto param17 = model->addOperand(&type7);
+  auto param18 = model->addOperand(&type23);
+  auto param19 = model->addOperand(&type23);
+  auto param20 = model->addOperand(&type23);
   auto scoresOut1 = model->addOperand(&type27);
   auto roiOut1 = model->addOperand(&type25);
   auto classesOut1 = model->addOperand(&type3);
   auto batchSplitOut1 = model->addOperand(&type3);
   auto in1 = model->addOperand(&type21);
-  auto param15 = model->addOperand(&type7);
-  auto param16 = model->addOperand(&type7);
-  auto param17 = model->addOperand(&type23);
-  auto param18 = model->addOperand(&type23);
-  auto param19 = model->addOperand(&type7);
-  auto param20 = model->addOperand(&type7);
+  auto param21 = model->addOperand(&type7);
+  auto param22 = model->addOperand(&type7);
+  auto param23 = model->addOperand(&type23);
+  auto param24 = model->addOperand(&type23);
+  auto param25 = model->addOperand(&type7);
+  auto param26 = model->addOperand(&type7);
   auto layout1 = model->addOperand(&type8);
   auto featureMap1 = model->addOperand(&type20);
   auto in2 = model->addOperand(&type34);
-  auto param21 = model->addOperand(&type7);
+  auto param27 = model->addOperand(&type7);
   auto out1 = model->addOperand(&type34);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  static _Float16 param12_init[] = {0.30000001192092896f};
-  model->setOperandValue(param12, param12_init, sizeof(_Float16) * 1);
-  static _Float16 param13_init[] = {0.4000000059604645f};
-  model->setOperandValue(param13, param13_init, sizeof(_Float16) * 1);
-  static int32_t param14_init[] = {-1};
+  static int32_t param14_init[] = {0};
   model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
-  static int32_t param15_init[] = {2};
-  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
+  static _Float16 param15_init[] = {0.30000001192092896f};
+  model->setOperandValue(param15, param15_init, sizeof(_Float16) * 1);
+  static int32_t param16_init[] = {-1};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static _Float16 param17_init[] = {2.0f};
-  model->setOperandValue(param17, param17_init, sizeof(_Float16) * 1);
-  static _Float16 param18_init[] = {2.0f};
+  static int32_t param17_init[] = {0};
+  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
+  static _Float16 param18_init[] = {0.4000000059604645f};
   model->setOperandValue(param18, param18_init, sizeof(_Float16) * 1);
-  static int32_t param19_init[] = {4};
-  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
-  static int32_t param20_init[] = {4};
-  model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
+  static _Float16 param19_init[] = {1.0f};
+  model->setOperandValue(param19, param19_init, sizeof(_Float16) * 1);
+  static _Float16 param20_init[] = {0.30000001192092896f};
+  model->setOperandValue(param20, param20_init, sizeof(_Float16) * 1);
+  static int32_t param21_init[] = {2};
+  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static int32_t param22_init[] = {2};
+  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
+  static _Float16 param23_init[] = {2.0f};
+  model->setOperandValue(param23, param23_init, sizeof(_Float16) * 1);
+  static _Float16 param24_init[] = {2.0f};
+  model->setOperandValue(param24, param24_init, sizeof(_Float16) * 1);
+  static int32_t param25_init[] = {4};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {4};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static bool8 layout1_init[] = {false};
   model->setOperandValue(layout1, layout1_init, sizeof(bool8) * 1);
-  static int32_t param21_init[] = {0};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param11, param12, param13, param14}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param15, param16, param17, param18, param19, param20, layout1}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param21}, {out1});
+  static int32_t param27_init[] = {0};
+  model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param14, param15, param16, param17, param18, param19, param20}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param21, param22, param23, param24, param25, param26, layout1}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param27}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1, in2},
@@ -976,58 +1084,67 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
-  auto param11 = model->addOperand(&type5);
-  auto param12 = model->addOperand(&type6);
-  auto param13 = model->addOperand(&type6);
-  auto param14 = model->addOperand(&type7);
+  auto param14 = model->addOperand(&type5);
+  auto param15 = model->addOperand(&type6);
+  auto param16 = model->addOperand(&type7);
+  auto param17 = model->addOperand(&type7);
+  auto param18 = model->addOperand(&type6);
+  auto param19 = model->addOperand(&type6);
+  auto param20 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type2);
   auto roiOut1 = model->addOperand(&type4);
   auto classesOut1 = model->addOperand(&type3);
   auto batchSplitOut1 = model->addOperand(&type3);
   auto in1 = model->addOperand(&type9);
-  auto param15 = model->addOperand(&type7);
-  auto param16 = model->addOperand(&type7);
-  auto param17 = model->addOperand(&type6);
-  auto param18 = model->addOperand(&type6);
-  auto param19 = model->addOperand(&type7);
-  auto param20 = model->addOperand(&type7);
+  auto param21 = model->addOperand(&type7);
+  auto param22 = model->addOperand(&type7);
+  auto param23 = model->addOperand(&type6);
+  auto param24 = model->addOperand(&type6);
+  auto param25 = model->addOperand(&type7);
+  auto param26 = model->addOperand(&type7);
   auto layout1 = model->addOperand(&type8);
   auto featureMap1 = model->addOperand(&type10);
   auto in2 = model->addOperand(&type12);
-  auto param21 = model->addOperand(&type7);
+  auto param27 = model->addOperand(&type7);
   auto out1 = model->addOperand(&type28);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  static float param12_init[] = {0.3f};
-  model->setOperandValue(param12, param12_init, sizeof(float) * 1);
-  static float param13_init[] = {0.4f};
-  model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static int32_t param14_init[] = {-1};
+  static int32_t param14_init[] = {0};
   model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
-  static int32_t param15_init[] = {2};
-  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
+  static float param15_init[] = {0.3f};
+  model->setOperandValue(param15, param15_init, sizeof(float) * 1);
+  static int32_t param16_init[] = {-1};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static float param17_init[] = {2.0f};
-  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
-  static float param18_init[] = {2.0f};
+  static int32_t param17_init[] = {0};
+  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
+  static float param18_init[] = {0.4f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static int32_t param19_init[] = {4};
-  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
-  static int32_t param20_init[] = {4};
-  model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
+  static float param19_init[] = {1.0f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
+  static float param20_init[] = {0.3f};
+  model->setOperandValue(param20, param20_init, sizeof(float) * 1);
+  static int32_t param21_init[] = {2};
+  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static int32_t param22_init[] = {2};
+  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
+  static float param23_init[] = {2.0f};
+  model->setOperandValue(param23, param23_init, sizeof(float) * 1);
+  static float param24_init[] = {2.0f};
+  model->setOperandValue(param24, param24_init, sizeof(float) * 1);
+  static int32_t param25_init[] = {4};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {4};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static bool8 layout1_init[] = {false};
   model->setOperandValue(layout1, layout1_init, sizeof(bool8) * 1);
-  static int32_t param21_init[] = {0};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param11, param12, param13, param14}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param15, param16, param17, param18, param19, param20, layout1}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param21}, {out1});
+  static int32_t param27_init[] = {0};
+  model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param14, param15, param16, param17, param18, param19, param20}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param21, param22, param23, param24, param25, param26, layout1}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param27}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1, in2},
@@ -1057,58 +1174,67 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type0);
   auto roi1 = model->addOperand(&type1);
-  auto param11 = model->addOperand(&type5);
-  auto param12 = model->addOperand(&type6);
-  auto param13 = model->addOperand(&type6);
-  auto param14 = model->addOperand(&type7);
+  auto param14 = model->addOperand(&type5);
+  auto param15 = model->addOperand(&type6);
+  auto param16 = model->addOperand(&type7);
+  auto param17 = model->addOperand(&type7);
+  auto param18 = model->addOperand(&type6);
+  auto param19 = model->addOperand(&type6);
+  auto param20 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type2);
   auto roiOut1 = model->addOperand(&type4);
   auto classesOut1 = model->addOperand(&type3);
   auto batchSplitOut1 = model->addOperand(&type3);
   auto in1 = model->addOperand(&type9);
-  auto param15 = model->addOperand(&type7);
-  auto param16 = model->addOperand(&type7);
-  auto param17 = model->addOperand(&type6);
-  auto param18 = model->addOperand(&type6);
-  auto param19 = model->addOperand(&type7);
-  auto param20 = model->addOperand(&type7);
+  auto param21 = model->addOperand(&type7);
+  auto param22 = model->addOperand(&type7);
+  auto param23 = model->addOperand(&type6);
+  auto param24 = model->addOperand(&type6);
+  auto param25 = model->addOperand(&type7);
+  auto param26 = model->addOperand(&type7);
   auto layout1 = model->addOperand(&type8);
   auto featureMap1 = model->addOperand(&type10);
   auto in2 = model->addOperand(&type12);
-  auto param21 = model->addOperand(&type7);
+  auto param27 = model->addOperand(&type7);
   auto out1 = model->addOperand(&type28);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  static float param12_init[] = {0.3f};
-  model->setOperandValue(param12, param12_init, sizeof(float) * 1);
-  static float param13_init[] = {0.4f};
-  model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static int32_t param14_init[] = {-1};
+  static int32_t param14_init[] = {0};
   model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
-  static int32_t param15_init[] = {2};
-  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
+  static float param15_init[] = {0.3f};
+  model->setOperandValue(param15, param15_init, sizeof(float) * 1);
+  static int32_t param16_init[] = {-1};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static float param17_init[] = {2.0f};
-  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
-  static float param18_init[] = {2.0f};
+  static int32_t param17_init[] = {0};
+  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
+  static float param18_init[] = {0.4f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static int32_t param19_init[] = {4};
-  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
-  static int32_t param20_init[] = {4};
-  model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
+  static float param19_init[] = {1.0f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
+  static float param20_init[] = {0.3f};
+  model->setOperandValue(param20, param20_init, sizeof(float) * 1);
+  static int32_t param21_init[] = {2};
+  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static int32_t param22_init[] = {2};
+  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
+  static float param23_init[] = {2.0f};
+  model->setOperandValue(param23, param23_init, sizeof(float) * 1);
+  static float param24_init[] = {2.0f};
+  model->setOperandValue(param24, param24_init, sizeof(float) * 1);
+  static int32_t param25_init[] = {4};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {4};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static bool8 layout1_init[] = {false};
   model->setOperandValue(layout1, layout1_init, sizeof(bool8) * 1);
-  static int32_t param21_init[] = {0};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param11, param12, param13, param14}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param15, param16, param17, param18, param19, param20, layout1}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param21}, {out1});
+  static int32_t param27_init[] = {0};
+  model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param14, param15, param16, param17, param18, param19, param20}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param21, param22, param23, param24, param25, param26, layout1}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param27}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1, in2},
@@ -1140,58 +1266,67 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type18);
   auto roi1 = model->addOperand(&type16);
-  auto param11 = model->addOperand(&type5);
-  auto param12 = model->addOperand(&type6);
-  auto param13 = model->addOperand(&type6);
-  auto param14 = model->addOperand(&type7);
+  auto param14 = model->addOperand(&type5);
+  auto param15 = model->addOperand(&type6);
+  auto param16 = model->addOperand(&type7);
+  auto param17 = model->addOperand(&type7);
+  auto param18 = model->addOperand(&type6);
+  auto param19 = model->addOperand(&type6);
+  auto param20 = model->addOperand(&type6);
   auto scoresOut1 = model->addOperand(&type19);
   auto roiOut1 = model->addOperand(&type17);
   auto classesOut1 = model->addOperand(&type3);
   auto batchSplitOut1 = model->addOperand(&type3);
   auto in1 = model->addOperand(&type14);
-  auto param15 = model->addOperand(&type7);
-  auto param16 = model->addOperand(&type7);
-  auto param17 = model->addOperand(&type6);
-  auto param18 = model->addOperand(&type6);
-  auto param19 = model->addOperand(&type7);
-  auto param20 = model->addOperand(&type7);
+  auto param21 = model->addOperand(&type7);
+  auto param22 = model->addOperand(&type7);
+  auto param23 = model->addOperand(&type6);
+  auto param24 = model->addOperand(&type6);
+  auto param25 = model->addOperand(&type7);
+  auto param26 = model->addOperand(&type7);
   auto layout1 = model->addOperand(&type8);
   auto featureMap1 = model->addOperand(&type13);
   auto in2 = model->addOperand(&type32);
-  auto param21 = model->addOperand(&type7);
+  auto param27 = model->addOperand(&type7);
   auto out1 = model->addOperand(&type29);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  static float param12_init[] = {0.3f};
-  model->setOperandValue(param12, param12_init, sizeof(float) * 1);
-  static float param13_init[] = {0.4f};
-  model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static int32_t param14_init[] = {-1};
+  static int32_t param14_init[] = {0};
   model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
-  static int32_t param15_init[] = {2};
-  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
+  static float param15_init[] = {0.3f};
+  model->setOperandValue(param15, param15_init, sizeof(float) * 1);
+  static int32_t param16_init[] = {-1};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static float param17_init[] = {2.0f};
-  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
-  static float param18_init[] = {2.0f};
+  static int32_t param17_init[] = {0};
+  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
+  static float param18_init[] = {0.4f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static int32_t param19_init[] = {4};
-  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
-  static int32_t param20_init[] = {4};
-  model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
+  static float param19_init[] = {1.0f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
+  static float param20_init[] = {0.3f};
+  model->setOperandValue(param20, param20_init, sizeof(float) * 1);
+  static int32_t param21_init[] = {2};
+  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static int32_t param22_init[] = {2};
+  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
+  static float param23_init[] = {2.0f};
+  model->setOperandValue(param23, param23_init, sizeof(float) * 1);
+  static float param24_init[] = {2.0f};
+  model->setOperandValue(param24, param24_init, sizeof(float) * 1);
+  static int32_t param25_init[] = {4};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {4};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static bool8 layout1_init[] = {false};
   model->setOperandValue(layout1, layout1_init, sizeof(bool8) * 1);
-  static int32_t param21_init[] = {0};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param11, param12, param13, param14}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param15, param16, param17, param18, param19, param20, layout1}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param21}, {out1});
+  static int32_t param27_init[] = {0};
+  model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param14, param15, param16, param17, param18, param19, param20}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param21, param22, param23, param24, param25, param26, layout1}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param27}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1, in2},
@@ -1221,58 +1356,67 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type26);
   auto roi1 = model->addOperand(&type24);
-  auto param11 = model->addOperand(&type5);
-  auto param12 = model->addOperand(&type23);
-  auto param13 = model->addOperand(&type23);
-  auto param14 = model->addOperand(&type7);
+  auto param14 = model->addOperand(&type5);
+  auto param15 = model->addOperand(&type23);
+  auto param16 = model->addOperand(&type7);
+  auto param17 = model->addOperand(&type7);
+  auto param18 = model->addOperand(&type23);
+  auto param19 = model->addOperand(&type23);
+  auto param20 = model->addOperand(&type23);
   auto scoresOut1 = model->addOperand(&type30);
   auto roiOut1 = model->addOperand(&type25);
   auto classesOut1 = model->addOperand(&type3);
   auto batchSplitOut1 = model->addOperand(&type3);
   auto in1 = model->addOperand(&type21);
-  auto param15 = model->addOperand(&type7);
-  auto param16 = model->addOperand(&type7);
-  auto param17 = model->addOperand(&type23);
-  auto param18 = model->addOperand(&type23);
-  auto param19 = model->addOperand(&type7);
-  auto param20 = model->addOperand(&type7);
+  auto param21 = model->addOperand(&type7);
+  auto param22 = model->addOperand(&type7);
+  auto param23 = model->addOperand(&type23);
+  auto param24 = model->addOperand(&type23);
+  auto param25 = model->addOperand(&type7);
+  auto param26 = model->addOperand(&type7);
   auto layout1 = model->addOperand(&type8);
   auto featureMap1 = model->addOperand(&type20);
   auto in2 = model->addOperand(&type34);
-  auto param21 = model->addOperand(&type7);
+  auto param27 = model->addOperand(&type7);
   auto out1 = model->addOperand(&type31);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  static _Float16 param12_init[] = {0.30000001192092896f};
-  model->setOperandValue(param12, param12_init, sizeof(_Float16) * 1);
-  static _Float16 param13_init[] = {0.4000000059604645f};
-  model->setOperandValue(param13, param13_init, sizeof(_Float16) * 1);
-  static int32_t param14_init[] = {-1};
+  static int32_t param14_init[] = {0};
   model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
-  static int32_t param15_init[] = {2};
-  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
+  static _Float16 param15_init[] = {0.30000001192092896f};
+  model->setOperandValue(param15, param15_init, sizeof(_Float16) * 1);
+  static int32_t param16_init[] = {-1};
   model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static _Float16 param17_init[] = {2.0f};
-  model->setOperandValue(param17, param17_init, sizeof(_Float16) * 1);
-  static _Float16 param18_init[] = {2.0f};
+  static int32_t param17_init[] = {0};
+  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
+  static _Float16 param18_init[] = {0.4000000059604645f};
   model->setOperandValue(param18, param18_init, sizeof(_Float16) * 1);
-  static int32_t param19_init[] = {4};
-  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
-  static int32_t param20_init[] = {4};
-  model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
+  static _Float16 param19_init[] = {1.0f};
+  model->setOperandValue(param19, param19_init, sizeof(_Float16) * 1);
+  static _Float16 param20_init[] = {0.30000001192092896f};
+  model->setOperandValue(param20, param20_init, sizeof(_Float16) * 1);
+  static int32_t param21_init[] = {2};
+  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static int32_t param22_init[] = {2};
+  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
+  static _Float16 param23_init[] = {2.0f};
+  model->setOperandValue(param23, param23_init, sizeof(_Float16) * 1);
+  static _Float16 param24_init[] = {2.0f};
+  model->setOperandValue(param24, param24_init, sizeof(_Float16) * 1);
+  static int32_t param25_init[] = {4};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {4};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static bool8 layout1_init[] = {false};
   model->setOperandValue(layout1, layout1_init, sizeof(bool8) * 1);
-  static int32_t param21_init[] = {0};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param11, param12, param13, param14}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param15, param16, param17, param18, param19, param20, layout1}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param21}, {out1});
+  static int32_t param27_init[] = {0};
+  model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param14, param15, param16, param17, param18, param19, param20}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param21, param22, param23, param24, param25, param26, layout1}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONCATENATION, {featureMap1, in2, param27}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1, in2},
diff --git a/runtime/test/generated/models/conv2d_per_channel.model.cpp b/runtime/test/generated/models/conv2d_per_channel.model.cpp
index b962624..212d801 100644
--- a/runtime/test/generated/models/conv2d_per_channel.model.cpp
+++ b/runtime/test/generated/models/conv2d_per_channel.model.cpp
@@ -628,30 +628,33 @@
   auto roi = model->addOperand(&type8);
   auto param14 = model->addOperand(&type12);
   auto param15 = model->addOperand(&type13);
-  auto param16 = model->addOperand(&type13);
+  auto param16 = model->addOperand(&type4);
   auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type13);
+  auto param19 = model->addOperand(&type13);
+  auto param20 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
-  auto param20 = model->addOperand(&type13);
-  auto param21 = model->addOperand(&type13);
+  auto param21 = model->addOperand(&type4);
   auto param22 = model->addOperand(&type4);
-  auto param23 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type13);
+  auto param24 = model->addOperand(&type13);
+  auto param25 = model->addOperand(&type4);
+  auto param26 = model->addOperand(&type4);
   auto layout = model->addOperand(&type5);
   auto featureMap = model->addOperand(&type15);
   auto weights = model->addOperand(&type16);
   auto bias = model->addOperand(&type2);
-  auto param24 = model->addOperand(&type4);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
   auto param27 = model->addOperand(&type4);
   auto param28 = model->addOperand(&type4);
   auto param29 = model->addOperand(&type4);
   auto param30 = model->addOperand(&type4);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto out = model->addOperand(&type17);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -662,45 +665,51 @@
   model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
   static float param15_init[] = {0.3f};
   model->setOperandValue(param15, param15_init, sizeof(float) * 1);
-  static float param16_init[] = {0.4f};
-  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
-  static int32_t param17_init[] = {-1};
+  static int32_t param16_init[] = {-1};
+  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
+  static int32_t param17_init[] = {0};
   model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static int32_t param18_init[] = {2};
-  model->setOperandValue(param18, param18_init, sizeof(int32_t) * 1);
-  static int32_t param19_init[] = {2};
-  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
-  static float param20_init[] = {2.0f};
+  static float param18_init[] = {0.4f};
+  model->setOperandValue(param18, param18_init, sizeof(float) * 1);
+  static float param19_init[] = {1.0f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
+  static float param20_init[] = {0.3f};
   model->setOperandValue(param20, param20_init, sizeof(float) * 1);
-  static float param21_init[] = {2.0f};
-  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
-  static int32_t param22_init[] = {4};
+  static int32_t param21_init[] = {2};
+  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static int32_t param22_init[] = {2};
   model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {4};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static float param23_init[] = {2.0f};
+  model->setOperandValue(param23, param23_init, sizeof(float) * 1);
+  static float param24_init[] = {2.0f};
+  model->setOperandValue(param24, param24_init, sizeof(float) * 1);
+  static int32_t param25_init[] = {4};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {4};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static int8_t weights_init[] = {1, 2, 1, 2, 1, 2};
   model->setOperandValue(weights, weights_init, sizeof(int8_t) * 6);
   static int32_t bias_init[] = {4, 4, 4};
   model->setOperandValue(bias, bias_init, sizeof(int32_t) * 3);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static int32_t param25_init[] = {0};
-  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
-  static int32_t param26_init[] = {0};
-  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {1};
+  static int32_t param28_init[] = {0};
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {1};
+  static int32_t param29_init[] = {0};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
   static int32_t param30_init[] = {0};
   model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param14, param15, param16, param17}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param18, param19, param20, param21, param22, param23, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param24, param25, param26, param27, param28, param29, param30, layout}, {out});
+  static int32_t param31_init[] = {1};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {1};
+  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
+  static int32_t param33_init[] = {0};
+  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param14, param15, param16, param17, param18, param19, param20}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param21, param22, param23, param24, param25, param26, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param27, param28, param29, param30, param31, param32, param33, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -733,30 +742,33 @@
   auto roi = model->addOperand(&type8);
   auto param14 = model->addOperand(&type12);
   auto param15 = model->addOperand(&type13);
-  auto param16 = model->addOperand(&type13);
+  auto param16 = model->addOperand(&type4);
   auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type13);
+  auto param19 = model->addOperand(&type13);
+  auto param20 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type27);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
-  auto param20 = model->addOperand(&type13);
-  auto param21 = model->addOperand(&type13);
+  auto param21 = model->addOperand(&type4);
   auto param22 = model->addOperand(&type4);
-  auto param23 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type13);
+  auto param24 = model->addOperand(&type13);
+  auto param25 = model->addOperand(&type4);
+  auto param26 = model->addOperand(&type4);
   auto layout = model->addOperand(&type5);
   auto featureMap = model->addOperand(&type15);
   auto weights = model->addOperand(&type16);
   auto bias = model->addOperand(&type2);
-  auto param24 = model->addOperand(&type4);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
   auto param27 = model->addOperand(&type4);
   auto param28 = model->addOperand(&type4);
   auto param29 = model->addOperand(&type4);
   auto param30 = model->addOperand(&type4);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto out = model->addOperand(&type28);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -767,45 +779,51 @@
   model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
   static float param15_init[] = {0.3f};
   model->setOperandValue(param15, param15_init, sizeof(float) * 1);
-  static float param16_init[] = {0.4f};
-  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
-  static int32_t param17_init[] = {-1};
+  static int32_t param16_init[] = {-1};
+  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
+  static int32_t param17_init[] = {0};
   model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static int32_t param18_init[] = {2};
-  model->setOperandValue(param18, param18_init, sizeof(int32_t) * 1);
-  static int32_t param19_init[] = {2};
-  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
-  static float param20_init[] = {2.0f};
+  static float param18_init[] = {0.4f};
+  model->setOperandValue(param18, param18_init, sizeof(float) * 1);
+  static float param19_init[] = {1.0f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
+  static float param20_init[] = {0.3f};
   model->setOperandValue(param20, param20_init, sizeof(float) * 1);
-  static float param21_init[] = {2.0f};
-  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
-  static int32_t param22_init[] = {4};
+  static int32_t param21_init[] = {2};
+  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static int32_t param22_init[] = {2};
   model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {4};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static float param23_init[] = {2.0f};
+  model->setOperandValue(param23, param23_init, sizeof(float) * 1);
+  static float param24_init[] = {2.0f};
+  model->setOperandValue(param24, param24_init, sizeof(float) * 1);
+  static int32_t param25_init[] = {4};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {4};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static int8_t weights_init[] = {1, 2, 1, 2, 1, 2};
   model->setOperandValue(weights, weights_init, sizeof(int8_t) * 6);
   static int32_t bias_init[] = {4, 4, 4};
   model->setOperandValue(bias, bias_init, sizeof(int32_t) * 3);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static int32_t param25_init[] = {0};
-  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
-  static int32_t param26_init[] = {0};
-  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {1};
+  static int32_t param28_init[] = {0};
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {1};
+  static int32_t param29_init[] = {0};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
   static int32_t param30_init[] = {0};
   model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param14, param15, param16, param17}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param18, param19, param20, param21, param22, param23, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param24, param25, param26, param27, param28, param29, param30, layout}, {out});
+  static int32_t param31_init[] = {1};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {1};
+  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
+  static int32_t param33_init[] = {0};
+  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param14, param15, param16, param17, param18, param19, param20}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param21, param22, param23, param24, param25, param26, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param27, param28, param29, param30, param31, param32, param33, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -838,30 +856,33 @@
   auto roi = model->addOperand(&type8);
   auto param14 = model->addOperand(&type12);
   auto param15 = model->addOperand(&type13);
-  auto param16 = model->addOperand(&type13);
+  auto param16 = model->addOperand(&type4);
   auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type13);
+  auto param19 = model->addOperand(&type13);
+  auto param20 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
-  auto param20 = model->addOperand(&type13);
-  auto param21 = model->addOperand(&type13);
+  auto param21 = model->addOperand(&type4);
   auto param22 = model->addOperand(&type4);
-  auto param23 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type13);
+  auto param24 = model->addOperand(&type13);
+  auto param25 = model->addOperand(&type4);
+  auto param26 = model->addOperand(&type4);
   auto layout = model->addOperand(&type5);
   auto featureMap = model->addOperand(&type15);
   auto weights = model->addOperand(&type16);
   auto bias = model->addOperand(&type2);
-  auto param24 = model->addOperand(&type4);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
   auto param27 = model->addOperand(&type4);
   auto param28 = model->addOperand(&type4);
   auto param29 = model->addOperand(&type4);
   auto param30 = model->addOperand(&type4);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto out = model->addOperand(&type19);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -872,45 +893,51 @@
   model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
   static float param15_init[] = {0.3f};
   model->setOperandValue(param15, param15_init, sizeof(float) * 1);
-  static float param16_init[] = {0.4f};
-  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
-  static int32_t param17_init[] = {-1};
+  static int32_t param16_init[] = {-1};
+  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
+  static int32_t param17_init[] = {0};
   model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static int32_t param18_init[] = {2};
-  model->setOperandValue(param18, param18_init, sizeof(int32_t) * 1);
-  static int32_t param19_init[] = {2};
-  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
-  static float param20_init[] = {2.0f};
+  static float param18_init[] = {0.4f};
+  model->setOperandValue(param18, param18_init, sizeof(float) * 1);
+  static float param19_init[] = {1.0f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
+  static float param20_init[] = {0.3f};
   model->setOperandValue(param20, param20_init, sizeof(float) * 1);
-  static float param21_init[] = {2.0f};
-  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
-  static int32_t param22_init[] = {4};
+  static int32_t param21_init[] = {2};
+  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static int32_t param22_init[] = {2};
   model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {4};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static float param23_init[] = {2.0f};
+  model->setOperandValue(param23, param23_init, sizeof(float) * 1);
+  static float param24_init[] = {2.0f};
+  model->setOperandValue(param24, param24_init, sizeof(float) * 1);
+  static int32_t param25_init[] = {4};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {4};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static int8_t weights_init[] = {1, 2, 1, 2, 1, 2};
   model->setOperandValue(weights, weights_init, sizeof(int8_t) * 6);
   static int32_t bias_init[] = {4, 4, 4};
   model->setOperandValue(bias, bias_init, sizeof(int32_t) * 3);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static int32_t param25_init[] = {0};
-  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
-  static int32_t param26_init[] = {0};
-  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {1};
+  static int32_t param28_init[] = {0};
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {1};
+  static int32_t param29_init[] = {0};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
   static int32_t param30_init[] = {0};
   model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param14, param15, param16, param17}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param18, param19, param20, param21, param22, param23, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param24, param25, param26, param27, param28, param29, param30, layout}, {out});
+  static int32_t param31_init[] = {1};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {1};
+  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
+  static int32_t param33_init[] = {0};
+  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param14, param15, param16, param17, param18, param19, param20}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param21, param22, param23, param24, param25, param26, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param27, param28, param29, param30, param31, param32, param33, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -943,30 +970,33 @@
   auto roi = model->addOperand(&type8);
   auto param14 = model->addOperand(&type12);
   auto param15 = model->addOperand(&type13);
-  auto param16 = model->addOperand(&type13);
+  auto param16 = model->addOperand(&type4);
   auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type13);
+  auto param19 = model->addOperand(&type13);
+  auto param20 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type27);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
-  auto param20 = model->addOperand(&type13);
-  auto param21 = model->addOperand(&type13);
+  auto param21 = model->addOperand(&type4);
   auto param22 = model->addOperand(&type4);
-  auto param23 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type13);
+  auto param24 = model->addOperand(&type13);
+  auto param25 = model->addOperand(&type4);
+  auto param26 = model->addOperand(&type4);
   auto layout = model->addOperand(&type5);
   auto featureMap = model->addOperand(&type15);
   auto weights = model->addOperand(&type16);
   auto bias = model->addOperand(&type2);
-  auto param24 = model->addOperand(&type4);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
   auto param27 = model->addOperand(&type4);
   auto param28 = model->addOperand(&type4);
   auto param29 = model->addOperand(&type4);
   auto param30 = model->addOperand(&type4);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto out = model->addOperand(&type19);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -977,45 +1007,51 @@
   model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
   static float param15_init[] = {0.3f};
   model->setOperandValue(param15, param15_init, sizeof(float) * 1);
-  static float param16_init[] = {0.4f};
-  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
-  static int32_t param17_init[] = {-1};
+  static int32_t param16_init[] = {-1};
+  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
+  static int32_t param17_init[] = {0};
   model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static int32_t param18_init[] = {2};
-  model->setOperandValue(param18, param18_init, sizeof(int32_t) * 1);
-  static int32_t param19_init[] = {2};
-  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
-  static float param20_init[] = {2.0f};
+  static float param18_init[] = {0.4f};
+  model->setOperandValue(param18, param18_init, sizeof(float) * 1);
+  static float param19_init[] = {1.0f};
+  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
+  static float param20_init[] = {0.3f};
   model->setOperandValue(param20, param20_init, sizeof(float) * 1);
-  static float param21_init[] = {2.0f};
-  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
-  static int32_t param22_init[] = {4};
+  static int32_t param21_init[] = {2};
+  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static int32_t param22_init[] = {2};
   model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {4};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static float param23_init[] = {2.0f};
+  model->setOperandValue(param23, param23_init, sizeof(float) * 1);
+  static float param24_init[] = {2.0f};
+  model->setOperandValue(param24, param24_init, sizeof(float) * 1);
+  static int32_t param25_init[] = {4};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {4};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static int8_t weights_init[] = {1, 2, 1, 2, 1, 2};
   model->setOperandValue(weights, weights_init, sizeof(int8_t) * 6);
   static int32_t bias_init[] = {4, 4, 4};
   model->setOperandValue(bias, bias_init, sizeof(int32_t) * 3);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static int32_t param25_init[] = {0};
-  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
-  static int32_t param26_init[] = {0};
-  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
   static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {1};
+  static int32_t param28_init[] = {0};
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {1};
+  static int32_t param29_init[] = {0};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
   static int32_t param30_init[] = {0};
   model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param14, param15, param16, param17}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param18, param19, param20, param21, param22, param23, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param24, param25, param26, param27, param28, param29, param30, layout}, {out});
+  static int32_t param31_init[] = {1};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {1};
+  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
+  static int32_t param33_init[] = {0};
+  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param14, param15, param16, param17, param18, param19, param20}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param21, param22, param23, param24, param25, param26, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param27, param28, param29, param30, param31, param32, param33, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
diff --git a/runtime/test/generated/models/conv2d_v1_2.model.cpp b/runtime/test/generated/models/conv2d_v1_2.model.cpp
index 59edad7..ac79c29 100644
--- a/runtime/test/generated/models/conv2d_v1_2.model.cpp
+++ b/runtime/test/generated/models/conv2d_v1_2.model.cpp
@@ -10910,30 +10910,33 @@
   auto roi = model->addOperand(&type21);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type26);
-  auto param47 = model->addOperand(&type26);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type26);
+  auto param50 = model->addOperand(&type26);
+  auto param51 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type22);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type27);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type26);
-  auto param52 = model->addOperand(&type26);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type26);
+  auto param55 = model->addOperand(&type26);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type28);
   auto weights = model->addOperand(&type29);
   auto bias = model->addOperand(&type30);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type31);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -10944,45 +10947,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static float param46_init[] = {0.3f};
   model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static float param47_init[] = {0.4f};
-  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static float param51_init[] = {2.0f};
+  static float param49_init[] = {0.4f};
+  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
+  static float param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
+  static float param51_init[] = {0.3f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static float param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 2);
   static float bias_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -11015,30 +11024,33 @@
   auto roi = model->addOperand(&type21);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type26);
-  auto param47 = model->addOperand(&type26);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type26);
+  auto param50 = model->addOperand(&type26);
+  auto param51 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type22);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type27);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type26);
-  auto param52 = model->addOperand(&type26);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type26);
+  auto param55 = model->addOperand(&type26);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type28);
   auto weights = model->addOperand(&type29);
   auto bias = model->addOperand(&type30);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type31);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -11049,45 +11061,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static float param46_init[] = {0.3f};
   model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static float param47_init[] = {0.4f};
-  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static float param51_init[] = {2.0f};
+  static float param49_init[] = {0.4f};
+  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
+  static float param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
+  static float param51_init[] = {0.3f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static float param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 2);
   static float bias_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -11122,30 +11140,33 @@
   auto roi = model->addOperand(&type105);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type26);
-  auto param47 = model->addOperand(&type26);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type26);
+  auto param50 = model->addOperand(&type26);
+  auto param51 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type108);
   auto roiOut = model->addOperand(&type106);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type103);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type26);
-  auto param52 = model->addOperand(&type26);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type26);
+  auto param55 = model->addOperand(&type26);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type102);
   auto weights = model->addOperand(&type109);
   auto bias = model->addOperand(&type101);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type104);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -11156,45 +11177,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static float param46_init[] = {0.3f};
   model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static float param47_init[] = {0.4f};
-  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static float param51_init[] = {2.0f};
+  static float param49_init[] = {0.4f};
+  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
+  static float param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
+  static float param51_init[] = {0.3f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static float param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t weights_init[] = {158, 168};
   model->setOperandValue(weights, weights_init, sizeof(uint8_t) * 2);
   static int32_t bias_init[] = {100, 200};
   model->setOperandValue(bias, bias_init, sizeof(int32_t) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -11227,30 +11254,33 @@
   auto roi = model->addOperand(&type115);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type114);
-  auto param47 = model->addOperand(&type114);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type114);
+  auto param50 = model->addOperand(&type114);
+  auto param51 = model->addOperand(&type114);
   auto scoresOut = model->addOperand(&type118);
   auto roiOut = model->addOperand(&type116);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type112);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type114);
-  auto param52 = model->addOperand(&type114);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type114);
+  auto param55 = model->addOperand(&type114);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type111);
   auto weights = model->addOperand(&type119);
   auto bias = model->addOperand(&type110);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type113);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -11261,45 +11291,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static _Float16 param46_init[] = {0.30000001192092896f};
   model->setOperandValue(param46, param46_init, sizeof(_Float16) * 1);
-  static _Float16 param47_init[] = {0.4000000059604645f};
-  model->setOperandValue(param47, param47_init, sizeof(_Float16) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static _Float16 param51_init[] = {2.0f};
+  static _Float16 param49_init[] = {0.4000000059604645f};
+  model->setOperandValue(param49, param49_init, sizeof(_Float16) * 1);
+  static _Float16 param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(_Float16) * 1);
+  static _Float16 param51_init[] = {0.30000001192092896f};
   model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
-  static _Float16 param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static _Float16 param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(_Float16) * 1);
+  static _Float16 param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(_Float16) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 weights_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights, weights_init, sizeof(_Float16) * 2);
   static _Float16 bias_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias, bias_init, sizeof(_Float16) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -11332,30 +11368,33 @@
   auto roi = model->addOperand(&type21);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type26);
-  auto param47 = model->addOperand(&type26);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type26);
+  auto param50 = model->addOperand(&type26);
+  auto param51 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type22);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type27);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type26);
-  auto param52 = model->addOperand(&type26);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type26);
+  auto param55 = model->addOperand(&type26);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type120);
   auto weights = model->addOperand(&type29);
   auto bias = model->addOperand(&type30);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type31);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -11366,45 +11405,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static float param46_init[] = {0.3f};
   model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static float param47_init[] = {0.4f};
-  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static float param51_init[] = {2.0f};
+  static float param49_init[] = {0.4f};
+  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
+  static float param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
+  static float param51_init[] = {0.3f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static float param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 2);
   static float bias_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -11437,30 +11482,33 @@
   auto roi = model->addOperand(&type21);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type26);
-  auto param47 = model->addOperand(&type26);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type26);
+  auto param50 = model->addOperand(&type26);
+  auto param51 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type22);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type27);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type26);
-  auto param52 = model->addOperand(&type26);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type26);
+  auto param55 = model->addOperand(&type26);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type120);
   auto weights = model->addOperand(&type29);
   auto bias = model->addOperand(&type30);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type31);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -11471,45 +11519,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static float param46_init[] = {0.3f};
   model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static float param47_init[] = {0.4f};
-  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static float param51_init[] = {2.0f};
+  static float param49_init[] = {0.4f};
+  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
+  static float param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
+  static float param51_init[] = {0.3f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static float param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 2);
   static float bias_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -11544,30 +11598,33 @@
   auto roi = model->addOperand(&type105);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type26);
-  auto param47 = model->addOperand(&type26);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type26);
+  auto param50 = model->addOperand(&type26);
+  auto param51 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type108);
   auto roiOut = model->addOperand(&type106);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type103);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type26);
-  auto param52 = model->addOperand(&type26);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type26);
+  auto param55 = model->addOperand(&type26);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type121);
   auto weights = model->addOperand(&type109);
   auto bias = model->addOperand(&type101);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type104);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -11578,45 +11635,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static float param46_init[] = {0.3f};
   model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static float param47_init[] = {0.4f};
-  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static float param51_init[] = {2.0f};
+  static float param49_init[] = {0.4f};
+  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
+  static float param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
+  static float param51_init[] = {0.3f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static float param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t weights_init[] = {158, 168};
   model->setOperandValue(weights, weights_init, sizeof(uint8_t) * 2);
   static int32_t bias_init[] = {100, 200};
   model->setOperandValue(bias, bias_init, sizeof(int32_t) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -11649,30 +11712,33 @@
   auto roi = model->addOperand(&type115);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type114);
-  auto param47 = model->addOperand(&type114);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type114);
+  auto param50 = model->addOperand(&type114);
+  auto param51 = model->addOperand(&type114);
   auto scoresOut = model->addOperand(&type118);
   auto roiOut = model->addOperand(&type116);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type112);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type114);
-  auto param52 = model->addOperand(&type114);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type114);
+  auto param55 = model->addOperand(&type114);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type122);
   auto weights = model->addOperand(&type119);
   auto bias = model->addOperand(&type110);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type113);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -11683,45 +11749,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static _Float16 param46_init[] = {0.30000001192092896f};
   model->setOperandValue(param46, param46_init, sizeof(_Float16) * 1);
-  static _Float16 param47_init[] = {0.4000000059604645f};
-  model->setOperandValue(param47, param47_init, sizeof(_Float16) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static _Float16 param51_init[] = {2.0f};
+  static _Float16 param49_init[] = {0.4000000059604645f};
+  model->setOperandValue(param49, param49_init, sizeof(_Float16) * 1);
+  static _Float16 param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(_Float16) * 1);
+  static _Float16 param51_init[] = {0.30000001192092896f};
   model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
-  static _Float16 param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static _Float16 param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(_Float16) * 1);
+  static _Float16 param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(_Float16) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 weights_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights, weights_init, sizeof(_Float16) * 2);
   static _Float16 bias_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias, bias_init, sizeof(_Float16) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -11754,30 +11826,33 @@
   auto roi = model->addOperand(&type21);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type26);
-  auto param47 = model->addOperand(&type26);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type26);
+  auto param50 = model->addOperand(&type26);
+  auto param51 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type22);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type27);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type26);
-  auto param52 = model->addOperand(&type26);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type26);
+  auto param55 = model->addOperand(&type26);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type28);
   auto weights = model->addOperand(&type29);
   auto bias = model->addOperand(&type30);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type46);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -11788,45 +11863,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static float param46_init[] = {0.3f};
   model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static float param47_init[] = {0.4f};
-  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static float param51_init[] = {2.0f};
+  static float param49_init[] = {0.4f};
+  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
+  static float param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
+  static float param51_init[] = {0.3f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static float param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 2);
   static float bias_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -11859,30 +11940,33 @@
   auto roi = model->addOperand(&type21);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type26);
-  auto param47 = model->addOperand(&type26);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type26);
+  auto param50 = model->addOperand(&type26);
+  auto param51 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type22);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type27);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type26);
-  auto param52 = model->addOperand(&type26);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type26);
+  auto param55 = model->addOperand(&type26);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type28);
   auto weights = model->addOperand(&type29);
   auto bias = model->addOperand(&type30);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type46);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -11893,45 +11977,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static float param46_init[] = {0.3f};
   model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static float param47_init[] = {0.4f};
-  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static float param51_init[] = {2.0f};
+  static float param49_init[] = {0.4f};
+  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
+  static float param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
+  static float param51_init[] = {0.3f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static float param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 2);
   static float bias_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -11966,30 +12056,33 @@
   auto roi = model->addOperand(&type105);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type26);
-  auto param47 = model->addOperand(&type26);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type26);
+  auto param50 = model->addOperand(&type26);
+  auto param51 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type108);
   auto roiOut = model->addOperand(&type106);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type103);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type26);
-  auto param52 = model->addOperand(&type26);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type26);
+  auto param55 = model->addOperand(&type26);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type102);
   auto weights = model->addOperand(&type109);
   auto bias = model->addOperand(&type101);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type123);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -12000,45 +12093,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static float param46_init[] = {0.3f};
   model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static float param47_init[] = {0.4f};
-  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static float param51_init[] = {2.0f};
+  static float param49_init[] = {0.4f};
+  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
+  static float param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
+  static float param51_init[] = {0.3f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static float param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t weights_init[] = {158, 168};
   model->setOperandValue(weights, weights_init, sizeof(uint8_t) * 2);
   static int32_t bias_init[] = {100, 200};
   model->setOperandValue(bias, bias_init, sizeof(int32_t) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -12071,30 +12170,33 @@
   auto roi = model->addOperand(&type115);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type114);
-  auto param47 = model->addOperand(&type114);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type114);
+  auto param50 = model->addOperand(&type114);
+  auto param51 = model->addOperand(&type114);
   auto scoresOut = model->addOperand(&type124);
   auto roiOut = model->addOperand(&type116);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type112);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type114);
-  auto param52 = model->addOperand(&type114);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type114);
+  auto param55 = model->addOperand(&type114);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type111);
   auto weights = model->addOperand(&type119);
   auto bias = model->addOperand(&type110);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type48);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -12105,45 +12207,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static _Float16 param46_init[] = {0.30000001192092896f};
   model->setOperandValue(param46, param46_init, sizeof(_Float16) * 1);
-  static _Float16 param47_init[] = {0.4000000059604645f};
-  model->setOperandValue(param47, param47_init, sizeof(_Float16) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static _Float16 param51_init[] = {2.0f};
+  static _Float16 param49_init[] = {0.4000000059604645f};
+  model->setOperandValue(param49, param49_init, sizeof(_Float16) * 1);
+  static _Float16 param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(_Float16) * 1);
+  static _Float16 param51_init[] = {0.30000001192092896f};
   model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
-  static _Float16 param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static _Float16 param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(_Float16) * 1);
+  static _Float16 param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(_Float16) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 weights_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights, weights_init, sizeof(_Float16) * 2);
   static _Float16 bias_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias, bias_init, sizeof(_Float16) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -12176,30 +12284,33 @@
   auto roi = model->addOperand(&type21);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type26);
-  auto param47 = model->addOperand(&type26);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type26);
+  auto param50 = model->addOperand(&type26);
+  auto param51 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type22);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type27);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type26);
-  auto param52 = model->addOperand(&type26);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type26);
+  auto param55 = model->addOperand(&type26);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type120);
   auto weights = model->addOperand(&type29);
   auto bias = model->addOperand(&type30);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type46);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -12210,45 +12321,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static float param46_init[] = {0.3f};
   model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static float param47_init[] = {0.4f};
-  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static float param51_init[] = {2.0f};
+  static float param49_init[] = {0.4f};
+  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
+  static float param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
+  static float param51_init[] = {0.3f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static float param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 2);
   static float bias_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -12281,30 +12398,33 @@
   auto roi = model->addOperand(&type21);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type26);
-  auto param47 = model->addOperand(&type26);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type26);
+  auto param50 = model->addOperand(&type26);
+  auto param51 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type22);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type27);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type26);
-  auto param52 = model->addOperand(&type26);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type26);
+  auto param55 = model->addOperand(&type26);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type120);
   auto weights = model->addOperand(&type29);
   auto bias = model->addOperand(&type30);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type46);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -12315,45 +12435,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static float param46_init[] = {0.3f};
   model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static float param47_init[] = {0.4f};
-  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static float param51_init[] = {2.0f};
+  static float param49_init[] = {0.4f};
+  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
+  static float param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
+  static float param51_init[] = {0.3f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static float param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 2);
   static float bias_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -12388,30 +12514,33 @@
   auto roi = model->addOperand(&type105);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type26);
-  auto param47 = model->addOperand(&type26);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type26);
+  auto param50 = model->addOperand(&type26);
+  auto param51 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type108);
   auto roiOut = model->addOperand(&type106);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type103);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type26);
-  auto param52 = model->addOperand(&type26);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type26);
+  auto param55 = model->addOperand(&type26);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type121);
   auto weights = model->addOperand(&type109);
   auto bias = model->addOperand(&type101);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type123);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -12422,45 +12551,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static float param46_init[] = {0.3f};
   model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static float param47_init[] = {0.4f};
-  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static float param51_init[] = {2.0f};
+  static float param49_init[] = {0.4f};
+  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
+  static float param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
+  static float param51_init[] = {0.3f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static float param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t weights_init[] = {158, 168};
   model->setOperandValue(weights, weights_init, sizeof(uint8_t) * 2);
   static int32_t bias_init[] = {100, 200};
   model->setOperandValue(bias, bias_init, sizeof(int32_t) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -12493,30 +12628,33 @@
   auto roi = model->addOperand(&type115);
   auto param45 = model->addOperand(&type25);
   auto param46 = model->addOperand(&type114);
-  auto param47 = model->addOperand(&type114);
+  auto param47 = model->addOperand(&type4);
   auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type114);
+  auto param50 = model->addOperand(&type114);
+  auto param51 = model->addOperand(&type114);
   auto scoresOut = model->addOperand(&type124);
   auto roiOut = model->addOperand(&type116);
   auto classesOut = model->addOperand(&type23);
   auto batchSplitOut = model->addOperand(&type23);
   auto in = model->addOperand(&type112);
-  auto param49 = model->addOperand(&type4);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type114);
-  auto param52 = model->addOperand(&type114);
+  auto param52 = model->addOperand(&type4);
   auto param53 = model->addOperand(&type4);
-  auto param54 = model->addOperand(&type4);
+  auto param54 = model->addOperand(&type114);
+  auto param55 = model->addOperand(&type114);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type122);
   auto weights = model->addOperand(&type119);
   auto bias = model->addOperand(&type110);
-  auto param55 = model->addOperand(&type4);
-  auto param56 = model->addOperand(&type4);
-  auto param57 = model->addOperand(&type4);
   auto param58 = model->addOperand(&type4);
   auto param59 = model->addOperand(&type4);
   auto param60 = model->addOperand(&type4);
   auto param61 = model->addOperand(&type4);
+  auto param62 = model->addOperand(&type4);
+  auto param63 = model->addOperand(&type4);
+  auto param64 = model->addOperand(&type4);
   auto out = model->addOperand(&type48);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -12527,45 +12665,51 @@
   model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static _Float16 param46_init[] = {0.30000001192092896f};
   model->setOperandValue(param46, param46_init, sizeof(_Float16) * 1);
-  static _Float16 param47_init[] = {0.4000000059604645f};
-  model->setOperandValue(param47, param47_init, sizeof(_Float16) * 1);
-  static int32_t param48_init[] = {-1};
+  static int32_t param47_init[] = {-1};
+  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
-  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
-  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static _Float16 param51_init[] = {2.0f};
+  static _Float16 param49_init[] = {0.4000000059604645f};
+  model->setOperandValue(param49, param49_init, sizeof(_Float16) * 1);
+  static _Float16 param50_init[] = {1.0f};
+  model->setOperandValue(param50, param50_init, sizeof(_Float16) * 1);
+  static _Float16 param51_init[] = {0.30000001192092896f};
   model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
-  static _Float16 param52_init[] = {2.0f};
-  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
-  static int32_t param53_init[] = {4};
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
   model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {4};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static _Float16 param54_init[] = {2.0f};
+  model->setOperandValue(param54, param54_init, sizeof(_Float16) * 1);
+  static _Float16 param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(_Float16) * 1);
+  static int32_t param56_init[] = {4};
+  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 weights_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights, weights_init, sizeof(_Float16) * 2);
   static _Float16 bias_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias, bias_init, sizeof(_Float16) * 2);
-  static int32_t param55_init[] = {0};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {0};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {0};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
   static int32_t param58_init[] = {0};
   model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  static int32_t param59_init[] = {1};
+  static int32_t param59_init[] = {0};
   model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
-  static int32_t param60_init[] = {1};
+  static int32_t param60_init[] = {0};
   model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
   static int32_t param61_init[] = {0};
   model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param49, param50, param51, param52, param53, param54, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param55, param56, param57, param58, param59, param60, param61, layout}, {out});
+  static int32_t param62_init[] = {1};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {1};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param45, param46, param47, param48, param49, param50, param51}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param52, param53, param54, param55, param56, param57, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap, weights, bias, param58, param59, param60, param61, param62, param63, param64, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -12596,72 +12740,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type20);
   auto roi1 = model->addOperand(&type21);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type26);
-  auto param64 = model->addOperand(&type26);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type26);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type26);
+  auto param70 = model->addOperand(&type26);
+  auto param71 = model->addOperand(&type26);
   auto scoresOut1 = model->addOperand(&type22);
   auto roiOut1 = model->addOperand(&type24);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type27);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type26);
-  auto param69 = model->addOperand(&type26);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type26);
+  auto param75 = model->addOperand(&type26);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type28);
   auto weights1 = model->addOperand(&type29);
   auto bias1 = model->addOperand(&type30);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type31);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static float param63_init[] = {0.3f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static float param64_init[] = {0.4f};
-  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static float param66_init[] = {0.3f};
+  model->setOperandValue(param66, param66_init, sizeof(float) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static float param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static float param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {0.4f};
   model->setOperandValue(param69, param69_init, sizeof(float) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static float param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static float param71_init[] = {0.3f};
+  model->setOperandValue(param71, param71_init, sizeof(float) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static float param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(float) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights1_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights1, weights1_init, sizeof(float) * 2);
   static float bias1_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias1, bias1_init, sizeof(float) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -12692,72 +12845,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type20);
   auto roi1 = model->addOperand(&type21);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type26);
-  auto param64 = model->addOperand(&type26);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type26);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type26);
+  auto param70 = model->addOperand(&type26);
+  auto param71 = model->addOperand(&type26);
   auto scoresOut1 = model->addOperand(&type22);
   auto roiOut1 = model->addOperand(&type24);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type27);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type26);
-  auto param69 = model->addOperand(&type26);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type26);
+  auto param75 = model->addOperand(&type26);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type28);
   auto weights1 = model->addOperand(&type29);
   auto bias1 = model->addOperand(&type30);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type31);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static float param63_init[] = {0.3f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static float param64_init[] = {0.4f};
-  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static float param66_init[] = {0.3f};
+  model->setOperandValue(param66, param66_init, sizeof(float) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static float param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static float param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {0.4f};
   model->setOperandValue(param69, param69_init, sizeof(float) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static float param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static float param71_init[] = {0.3f};
+  model->setOperandValue(param71, param71_init, sizeof(float) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static float param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(float) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights1_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights1, weights1_init, sizeof(float) * 2);
   static float bias1_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias1, bias1_init, sizeof(float) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -12790,72 +12952,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type107);
   auto roi1 = model->addOperand(&type105);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type26);
-  auto param64 = model->addOperand(&type26);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type26);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type26);
+  auto param70 = model->addOperand(&type26);
+  auto param71 = model->addOperand(&type26);
   auto scoresOut1 = model->addOperand(&type108);
   auto roiOut1 = model->addOperand(&type106);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type103);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type26);
-  auto param69 = model->addOperand(&type26);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type26);
+  auto param75 = model->addOperand(&type26);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type102);
   auto weights1 = model->addOperand(&type109);
   auto bias1 = model->addOperand(&type101);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type104);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static float param63_init[] = {0.3f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static float param64_init[] = {0.4f};
-  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static float param66_init[] = {0.3f};
+  model->setOperandValue(param66, param66_init, sizeof(float) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static float param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static float param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {0.4f};
   model->setOperandValue(param69, param69_init, sizeof(float) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static float param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static float param71_init[] = {0.3f};
+  model->setOperandValue(param71, param71_init, sizeof(float) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static float param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(float) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t weights1_init[] = {158, 168};
   model->setOperandValue(weights1, weights1_init, sizeof(uint8_t) * 2);
   static int32_t bias1_init[] = {100, 200};
   model->setOperandValue(bias1, bias1_init, sizeof(int32_t) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -12886,72 +13057,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type117);
   auto roi1 = model->addOperand(&type115);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type114);
-  auto param64 = model->addOperand(&type114);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type114);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type114);
+  auto param70 = model->addOperand(&type114);
+  auto param71 = model->addOperand(&type114);
   auto scoresOut1 = model->addOperand(&type118);
   auto roiOut1 = model->addOperand(&type116);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type112);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type114);
-  auto param69 = model->addOperand(&type114);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type114);
+  auto param75 = model->addOperand(&type114);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type111);
   auto weights1 = model->addOperand(&type119);
   auto bias1 = model->addOperand(&type110);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type113);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static _Float16 param63_init[] = {0.30000001192092896f};
-  model->setOperandValue(param63, param63_init, sizeof(_Float16) * 1);
-  static _Float16 param64_init[] = {0.4000000059604645f};
-  model->setOperandValue(param64, param64_init, sizeof(_Float16) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static _Float16 param66_init[] = {0.30000001192092896f};
+  model->setOperandValue(param66, param66_init, sizeof(_Float16) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static _Float16 param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(_Float16) * 1);
-  static _Float16 param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static _Float16 param69_init[] = {0.4000000059604645f};
   model->setOperandValue(param69, param69_init, sizeof(_Float16) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static _Float16 param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(_Float16) * 1);
+  static _Float16 param71_init[] = {0.30000001192092896f};
+  model->setOperandValue(param71, param71_init, sizeof(_Float16) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static _Float16 param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(_Float16) * 1);
+  static _Float16 param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(_Float16) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 weights1_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights1, weights1_init, sizeof(_Float16) * 2);
   static _Float16 bias1_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias1, bias1_init, sizeof(_Float16) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -12982,72 +13162,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type20);
   auto roi1 = model->addOperand(&type21);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type26);
-  auto param64 = model->addOperand(&type26);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type26);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type26);
+  auto param70 = model->addOperand(&type26);
+  auto param71 = model->addOperand(&type26);
   auto scoresOut1 = model->addOperand(&type22);
   auto roiOut1 = model->addOperand(&type24);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type27);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type26);
-  auto param69 = model->addOperand(&type26);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type26);
+  auto param75 = model->addOperand(&type26);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type120);
   auto weights1 = model->addOperand(&type29);
   auto bias1 = model->addOperand(&type30);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type31);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static float param63_init[] = {0.3f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static float param64_init[] = {0.4f};
-  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static float param66_init[] = {0.3f};
+  model->setOperandValue(param66, param66_init, sizeof(float) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static float param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static float param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {0.4f};
   model->setOperandValue(param69, param69_init, sizeof(float) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static float param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static float param71_init[] = {0.3f};
+  model->setOperandValue(param71, param71_init, sizeof(float) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static float param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(float) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights1_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights1, weights1_init, sizeof(float) * 2);
   static float bias1_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias1, bias1_init, sizeof(float) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -13078,72 +13267,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type20);
   auto roi1 = model->addOperand(&type21);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type26);
-  auto param64 = model->addOperand(&type26);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type26);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type26);
+  auto param70 = model->addOperand(&type26);
+  auto param71 = model->addOperand(&type26);
   auto scoresOut1 = model->addOperand(&type22);
   auto roiOut1 = model->addOperand(&type24);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type27);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type26);
-  auto param69 = model->addOperand(&type26);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type26);
+  auto param75 = model->addOperand(&type26);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type120);
   auto weights1 = model->addOperand(&type29);
   auto bias1 = model->addOperand(&type30);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type31);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static float param63_init[] = {0.3f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static float param64_init[] = {0.4f};
-  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static float param66_init[] = {0.3f};
+  model->setOperandValue(param66, param66_init, sizeof(float) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static float param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static float param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {0.4f};
   model->setOperandValue(param69, param69_init, sizeof(float) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static float param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static float param71_init[] = {0.3f};
+  model->setOperandValue(param71, param71_init, sizeof(float) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static float param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(float) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights1_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights1, weights1_init, sizeof(float) * 2);
   static float bias1_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias1, bias1_init, sizeof(float) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -13176,72 +13374,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type107);
   auto roi1 = model->addOperand(&type105);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type26);
-  auto param64 = model->addOperand(&type26);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type26);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type26);
+  auto param70 = model->addOperand(&type26);
+  auto param71 = model->addOperand(&type26);
   auto scoresOut1 = model->addOperand(&type108);
   auto roiOut1 = model->addOperand(&type106);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type103);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type26);
-  auto param69 = model->addOperand(&type26);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type26);
+  auto param75 = model->addOperand(&type26);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type121);
   auto weights1 = model->addOperand(&type109);
   auto bias1 = model->addOperand(&type101);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type104);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static float param63_init[] = {0.3f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static float param64_init[] = {0.4f};
-  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static float param66_init[] = {0.3f};
+  model->setOperandValue(param66, param66_init, sizeof(float) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static float param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static float param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {0.4f};
   model->setOperandValue(param69, param69_init, sizeof(float) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static float param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static float param71_init[] = {0.3f};
+  model->setOperandValue(param71, param71_init, sizeof(float) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static float param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(float) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t weights1_init[] = {158, 168};
   model->setOperandValue(weights1, weights1_init, sizeof(uint8_t) * 2);
   static int32_t bias1_init[] = {100, 200};
   model->setOperandValue(bias1, bias1_init, sizeof(int32_t) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -13272,72 +13479,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type117);
   auto roi1 = model->addOperand(&type115);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type114);
-  auto param64 = model->addOperand(&type114);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type114);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type114);
+  auto param70 = model->addOperand(&type114);
+  auto param71 = model->addOperand(&type114);
   auto scoresOut1 = model->addOperand(&type118);
   auto roiOut1 = model->addOperand(&type116);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type112);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type114);
-  auto param69 = model->addOperand(&type114);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type114);
+  auto param75 = model->addOperand(&type114);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type122);
   auto weights1 = model->addOperand(&type119);
   auto bias1 = model->addOperand(&type110);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type113);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static _Float16 param63_init[] = {0.30000001192092896f};
-  model->setOperandValue(param63, param63_init, sizeof(_Float16) * 1);
-  static _Float16 param64_init[] = {0.4000000059604645f};
-  model->setOperandValue(param64, param64_init, sizeof(_Float16) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static _Float16 param66_init[] = {0.30000001192092896f};
+  model->setOperandValue(param66, param66_init, sizeof(_Float16) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static _Float16 param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(_Float16) * 1);
-  static _Float16 param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static _Float16 param69_init[] = {0.4000000059604645f};
   model->setOperandValue(param69, param69_init, sizeof(_Float16) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static _Float16 param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(_Float16) * 1);
+  static _Float16 param71_init[] = {0.30000001192092896f};
+  model->setOperandValue(param71, param71_init, sizeof(_Float16) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static _Float16 param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(_Float16) * 1);
+  static _Float16 param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(_Float16) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 weights1_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights1, weights1_init, sizeof(_Float16) * 2);
   static _Float16 bias1_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias1, bias1_init, sizeof(_Float16) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -13368,72 +13584,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type20);
   auto roi1 = model->addOperand(&type21);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type26);
-  auto param64 = model->addOperand(&type26);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type26);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type26);
+  auto param70 = model->addOperand(&type26);
+  auto param71 = model->addOperand(&type26);
   auto scoresOut1 = model->addOperand(&type22);
   auto roiOut1 = model->addOperand(&type24);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type27);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type26);
-  auto param69 = model->addOperand(&type26);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type26);
+  auto param75 = model->addOperand(&type26);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type28);
   auto weights1 = model->addOperand(&type29);
   auto bias1 = model->addOperand(&type30);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type46);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static float param63_init[] = {0.3f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static float param64_init[] = {0.4f};
-  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static float param66_init[] = {0.3f};
+  model->setOperandValue(param66, param66_init, sizeof(float) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static float param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static float param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {0.4f};
   model->setOperandValue(param69, param69_init, sizeof(float) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static float param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static float param71_init[] = {0.3f};
+  model->setOperandValue(param71, param71_init, sizeof(float) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static float param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(float) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights1_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights1, weights1_init, sizeof(float) * 2);
   static float bias1_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias1, bias1_init, sizeof(float) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -13464,72 +13689,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type20);
   auto roi1 = model->addOperand(&type21);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type26);
-  auto param64 = model->addOperand(&type26);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type26);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type26);
+  auto param70 = model->addOperand(&type26);
+  auto param71 = model->addOperand(&type26);
   auto scoresOut1 = model->addOperand(&type22);
   auto roiOut1 = model->addOperand(&type24);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type27);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type26);
-  auto param69 = model->addOperand(&type26);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type26);
+  auto param75 = model->addOperand(&type26);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type28);
   auto weights1 = model->addOperand(&type29);
   auto bias1 = model->addOperand(&type30);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type46);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static float param63_init[] = {0.3f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static float param64_init[] = {0.4f};
-  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static float param66_init[] = {0.3f};
+  model->setOperandValue(param66, param66_init, sizeof(float) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static float param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static float param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {0.4f};
   model->setOperandValue(param69, param69_init, sizeof(float) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static float param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static float param71_init[] = {0.3f};
+  model->setOperandValue(param71, param71_init, sizeof(float) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static float param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(float) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights1_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights1, weights1_init, sizeof(float) * 2);
   static float bias1_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias1, bias1_init, sizeof(float) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -13562,72 +13796,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type107);
   auto roi1 = model->addOperand(&type105);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type26);
-  auto param64 = model->addOperand(&type26);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type26);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type26);
+  auto param70 = model->addOperand(&type26);
+  auto param71 = model->addOperand(&type26);
   auto scoresOut1 = model->addOperand(&type108);
   auto roiOut1 = model->addOperand(&type106);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type103);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type26);
-  auto param69 = model->addOperand(&type26);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type26);
+  auto param75 = model->addOperand(&type26);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type102);
   auto weights1 = model->addOperand(&type109);
   auto bias1 = model->addOperand(&type101);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type123);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static float param63_init[] = {0.3f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static float param64_init[] = {0.4f};
-  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static float param66_init[] = {0.3f};
+  model->setOperandValue(param66, param66_init, sizeof(float) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static float param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static float param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {0.4f};
   model->setOperandValue(param69, param69_init, sizeof(float) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static float param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static float param71_init[] = {0.3f};
+  model->setOperandValue(param71, param71_init, sizeof(float) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static float param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(float) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t weights1_init[] = {158, 168};
   model->setOperandValue(weights1, weights1_init, sizeof(uint8_t) * 2);
   static int32_t bias1_init[] = {100, 200};
   model->setOperandValue(bias1, bias1_init, sizeof(int32_t) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -13658,72 +13901,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type117);
   auto roi1 = model->addOperand(&type115);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type114);
-  auto param64 = model->addOperand(&type114);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type114);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type114);
+  auto param70 = model->addOperand(&type114);
+  auto param71 = model->addOperand(&type114);
   auto scoresOut1 = model->addOperand(&type124);
   auto roiOut1 = model->addOperand(&type116);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type112);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type114);
-  auto param69 = model->addOperand(&type114);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type114);
+  auto param75 = model->addOperand(&type114);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type111);
   auto weights1 = model->addOperand(&type119);
   auto bias1 = model->addOperand(&type110);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type48);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static _Float16 param63_init[] = {0.30000001192092896f};
-  model->setOperandValue(param63, param63_init, sizeof(_Float16) * 1);
-  static _Float16 param64_init[] = {0.4000000059604645f};
-  model->setOperandValue(param64, param64_init, sizeof(_Float16) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static _Float16 param66_init[] = {0.30000001192092896f};
+  model->setOperandValue(param66, param66_init, sizeof(_Float16) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static _Float16 param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(_Float16) * 1);
-  static _Float16 param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static _Float16 param69_init[] = {0.4000000059604645f};
   model->setOperandValue(param69, param69_init, sizeof(_Float16) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static _Float16 param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(_Float16) * 1);
+  static _Float16 param71_init[] = {0.30000001192092896f};
+  model->setOperandValue(param71, param71_init, sizeof(_Float16) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static _Float16 param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(_Float16) * 1);
+  static _Float16 param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(_Float16) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 weights1_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights1, weights1_init, sizeof(_Float16) * 2);
   static _Float16 bias1_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias1, bias1_init, sizeof(_Float16) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -13754,72 +14006,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type20);
   auto roi1 = model->addOperand(&type21);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type26);
-  auto param64 = model->addOperand(&type26);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type26);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type26);
+  auto param70 = model->addOperand(&type26);
+  auto param71 = model->addOperand(&type26);
   auto scoresOut1 = model->addOperand(&type22);
   auto roiOut1 = model->addOperand(&type24);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type27);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type26);
-  auto param69 = model->addOperand(&type26);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type26);
+  auto param75 = model->addOperand(&type26);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type120);
   auto weights1 = model->addOperand(&type29);
   auto bias1 = model->addOperand(&type30);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type46);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static float param63_init[] = {0.3f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static float param64_init[] = {0.4f};
-  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static float param66_init[] = {0.3f};
+  model->setOperandValue(param66, param66_init, sizeof(float) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static float param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static float param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {0.4f};
   model->setOperandValue(param69, param69_init, sizeof(float) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static float param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static float param71_init[] = {0.3f};
+  model->setOperandValue(param71, param71_init, sizeof(float) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static float param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(float) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights1_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights1, weights1_init, sizeof(float) * 2);
   static float bias1_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias1, bias1_init, sizeof(float) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -13850,72 +14111,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type20);
   auto roi1 = model->addOperand(&type21);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type26);
-  auto param64 = model->addOperand(&type26);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type26);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type26);
+  auto param70 = model->addOperand(&type26);
+  auto param71 = model->addOperand(&type26);
   auto scoresOut1 = model->addOperand(&type22);
   auto roiOut1 = model->addOperand(&type24);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type27);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type26);
-  auto param69 = model->addOperand(&type26);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type26);
+  auto param75 = model->addOperand(&type26);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type120);
   auto weights1 = model->addOperand(&type29);
   auto bias1 = model->addOperand(&type30);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type46);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static float param63_init[] = {0.3f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static float param64_init[] = {0.4f};
-  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static float param66_init[] = {0.3f};
+  model->setOperandValue(param66, param66_init, sizeof(float) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static float param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static float param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {0.4f};
   model->setOperandValue(param69, param69_init, sizeof(float) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static float param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static float param71_init[] = {0.3f};
+  model->setOperandValue(param71, param71_init, sizeof(float) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static float param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(float) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights1_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights1, weights1_init, sizeof(float) * 2);
   static float bias1_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias1, bias1_init, sizeof(float) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -13948,72 +14218,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type107);
   auto roi1 = model->addOperand(&type105);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type26);
-  auto param64 = model->addOperand(&type26);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type26);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type26);
+  auto param70 = model->addOperand(&type26);
+  auto param71 = model->addOperand(&type26);
   auto scoresOut1 = model->addOperand(&type108);
   auto roiOut1 = model->addOperand(&type106);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type103);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type26);
-  auto param69 = model->addOperand(&type26);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type26);
+  auto param75 = model->addOperand(&type26);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type121);
   auto weights1 = model->addOperand(&type109);
   auto bias1 = model->addOperand(&type101);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type123);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static float param63_init[] = {0.3f};
-  model->setOperandValue(param63, param63_init, sizeof(float) * 1);
-  static float param64_init[] = {0.4f};
-  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static float param66_init[] = {0.3f};
+  model->setOperandValue(param66, param66_init, sizeof(float) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static float param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(float) * 1);
-  static float param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static float param69_init[] = {0.4f};
   model->setOperandValue(param69, param69_init, sizeof(float) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static float param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(float) * 1);
+  static float param71_init[] = {0.3f};
+  model->setOperandValue(param71, param71_init, sizeof(float) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static float param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(float) * 1);
+  static float param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(float) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t weights1_init[] = {158, 168};
   model->setOperandValue(weights1, weights1_init, sizeof(uint8_t) * 2);
   static int32_t bias1_init[] = {100, 200};
   model->setOperandValue(bias1, bias1_init, sizeof(int32_t) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -14044,72 +14323,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type117);
   auto roi1 = model->addOperand(&type115);
-  auto param62 = model->addOperand(&type25);
-  auto param63 = model->addOperand(&type114);
-  auto param64 = model->addOperand(&type114);
-  auto param65 = model->addOperand(&type4);
+  auto param65 = model->addOperand(&type25);
+  auto param66 = model->addOperand(&type114);
+  auto param67 = model->addOperand(&type4);
+  auto param68 = model->addOperand(&type4);
+  auto param69 = model->addOperand(&type114);
+  auto param70 = model->addOperand(&type114);
+  auto param71 = model->addOperand(&type114);
   auto scoresOut1 = model->addOperand(&type124);
   auto roiOut1 = model->addOperand(&type116);
   auto classesOut1 = model->addOperand(&type23);
   auto batchSplitOut1 = model->addOperand(&type23);
   auto in1 = model->addOperand(&type112);
-  auto param66 = model->addOperand(&type4);
-  auto param67 = model->addOperand(&type4);
-  auto param68 = model->addOperand(&type114);
-  auto param69 = model->addOperand(&type114);
-  auto param70 = model->addOperand(&type4);
-  auto param71 = model->addOperand(&type4);
+  auto param72 = model->addOperand(&type4);
+  auto param73 = model->addOperand(&type4);
+  auto param74 = model->addOperand(&type114);
+  auto param75 = model->addOperand(&type114);
+  auto param76 = model->addOperand(&type4);
+  auto param77 = model->addOperand(&type4);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type122);
   auto weights1 = model->addOperand(&type119);
   auto bias1 = model->addOperand(&type110);
-  auto param72 = model->addOperand(&type4);
-  auto param73 = model->addOperand(&type4);
-  auto param74 = model->addOperand(&type4);
-  auto param75 = model->addOperand(&type4);
+  auto param78 = model->addOperand(&type4);
+  auto param79 = model->addOperand(&type4);
+  auto param80 = model->addOperand(&type4);
+  auto param81 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type48);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param62_init[] = {0};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static _Float16 param63_init[] = {0.30000001192092896f};
-  model->setOperandValue(param63, param63_init, sizeof(_Float16) * 1);
-  static _Float16 param64_init[] = {0.4000000059604645f};
-  model->setOperandValue(param64, param64_init, sizeof(_Float16) * 1);
-  static int32_t param65_init[] = {-1};
+  static int32_t param65_init[] = {0};
   model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {2};
+  static _Float16 param66_init[] = {0.30000001192092896f};
+  model->setOperandValue(param66, param66_init, sizeof(_Float16) * 1);
+  static int32_t param67_init[] = {-1};
   model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  static _Float16 param68_init[] = {2.0f};
-  model->setOperandValue(param68, param68_init, sizeof(_Float16) * 1);
-  static _Float16 param69_init[] = {2.0f};
+  static int32_t param68_init[] = {0};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static _Float16 param69_init[] = {0.4000000059604645f};
   model->setOperandValue(param69, param69_init, sizeof(_Float16) * 1);
-  static int32_t param70_init[] = {4};
-  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
-  static int32_t param71_init[] = {4};
-  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static _Float16 param70_init[] = {1.0f};
+  model->setOperandValue(param70, param70_init, sizeof(_Float16) * 1);
+  static _Float16 param71_init[] = {0.30000001192092896f};
+  model->setOperandValue(param71, param71_init, sizeof(_Float16) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {2};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  static _Float16 param74_init[] = {2.0f};
+  model->setOperandValue(param74, param74_init, sizeof(_Float16) * 1);
+  static _Float16 param75_init[] = {2.0f};
+  model->setOperandValue(param75, param75_init, sizeof(_Float16) * 1);
+  static int32_t param76_init[] = {4};
+  model->setOperandValue(param76, param76_init, sizeof(int32_t) * 1);
+  static int32_t param77_init[] = {4};
+  model->setOperandValue(param77, param77_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 weights1_init[] = {3.0f, 4.0f};
   model->setOperandValue(weights1, weights1_init, sizeof(_Float16) * 2);
   static _Float16 bias1_init[] = {1.0f, 2.0f};
   model->setOperandValue(bias1, bias1_init, sizeof(_Float16) * 2);
-  static int32_t param72_init[] = {1};
-  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
-  static int32_t param73_init[] = {1};
-  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
-  static int32_t param74_init[] = {1};
-  model->setOperandValue(param74, param74_init, sizeof(int32_t) * 1);
-  static int32_t param75_init[] = {0};
-  model->setOperandValue(param75, param75_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param62, param63, param64, param65}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param66, param67, param68, param69, param70, param71, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param72, param73, param74, param75, layout}, {out1});
+  static int32_t param78_init[] = {1};
+  model->setOperandValue(param78, param78_init, sizeof(int32_t) * 1);
+  static int32_t param79_init[] = {1};
+  model->setOperandValue(param79, param79_init, sizeof(int32_t) * 1);
+  static int32_t param80_init[] = {1};
+  model->setOperandValue(param80, param80_init, sizeof(int32_t) * 1);
+  static int32_t param81_init[] = {0};
+  model->setOperandValue(param81, param81_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param65, param66, param67, param68, param69, param70, param71}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param72, param73, param74, param75, param76, param77, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_CONV_2D, {featureMap1, weights1, bias1, param78, param79, param80, param81, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
diff --git a/runtime/test/generated/models/dequantize_v1_2.model.cpp b/runtime/test/generated/models/dequantize_v1_2.model.cpp
index ac99350..39805cb 100644
--- a/runtime/test/generated/models/dequantize_v1_2.model.cpp
+++ b/runtime/test/generated/models/dequantize_v1_2.model.cpp
@@ -802,19 +802,22 @@
   auto roi = model->addOperand(&type14);
   auto param = model->addOperand(&type18);
   auto param1 = model->addOperand(&type19);
-  auto param2 = model->addOperand(&type19);
+  auto param2 = model->addOperand(&type20);
   auto param3 = model->addOperand(&type20);
+  auto param4 = model->addOperand(&type19);
+  auto param5 = model->addOperand(&type19);
+  auto param6 = model->addOperand(&type19);
   auto scoresOut = model->addOperand(&type15);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type16);
   auto batchSplitOut = model->addOperand(&type16);
   auto in = model->addOperand(&type22);
-  auto param4 = model->addOperand(&type20);
-  auto param5 = model->addOperand(&type20);
-  auto param6 = model->addOperand(&type19);
-  auto param7 = model->addOperand(&type19);
+  auto param7 = model->addOperand(&type20);
   auto param8 = model->addOperand(&type20);
-  auto param9 = model->addOperand(&type20);
+  auto param9 = model->addOperand(&type19);
+  auto param10 = model->addOperand(&type19);
+  auto param11 = model->addOperand(&type20);
+  auto param12 = model->addOperand(&type20);
   auto layout = model->addOperand(&type21);
   auto featureMap = model->addOperand(&type23);
   auto out = model->addOperand(&type24);
@@ -827,26 +830,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_DEQUANTIZE, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -878,19 +887,22 @@
   auto roi = model->addOperand(&type14);
   auto param = model->addOperand(&type18);
   auto param1 = model->addOperand(&type19);
-  auto param2 = model->addOperand(&type19);
+  auto param2 = model->addOperand(&type20);
   auto param3 = model->addOperand(&type20);
+  auto param4 = model->addOperand(&type19);
+  auto param5 = model->addOperand(&type19);
+  auto param6 = model->addOperand(&type19);
   auto scoresOut = model->addOperand(&type15);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type16);
   auto batchSplitOut = model->addOperand(&type16);
   auto in = model->addOperand(&type22);
-  auto param4 = model->addOperand(&type20);
-  auto param5 = model->addOperand(&type20);
-  auto param6 = model->addOperand(&type19);
-  auto param7 = model->addOperand(&type19);
+  auto param7 = model->addOperand(&type20);
   auto param8 = model->addOperand(&type20);
-  auto param9 = model->addOperand(&type20);
+  auto param9 = model->addOperand(&type19);
+  auto param10 = model->addOperand(&type19);
+  auto param11 = model->addOperand(&type20);
+  auto param12 = model->addOperand(&type20);
   auto layout = model->addOperand(&type21);
   auto featureMap = model->addOperand(&type23);
   auto out = model->addOperand(&type24);
@@ -903,26 +915,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_DEQUANTIZE, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -956,19 +974,22 @@
   auto roi = model->addOperand(&type14);
   auto param = model->addOperand(&type18);
   auto param1 = model->addOperand(&type19);
-  auto param2 = model->addOperand(&type19);
+  auto param2 = model->addOperand(&type20);
   auto param3 = model->addOperand(&type20);
+  auto param4 = model->addOperand(&type19);
+  auto param5 = model->addOperand(&type19);
+  auto param6 = model->addOperand(&type19);
   auto scoresOut = model->addOperand(&type15);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type16);
   auto batchSplitOut = model->addOperand(&type16);
   auto in = model->addOperand(&type22);
-  auto param4 = model->addOperand(&type20);
-  auto param5 = model->addOperand(&type20);
-  auto param6 = model->addOperand(&type19);
-  auto param7 = model->addOperand(&type19);
+  auto param7 = model->addOperand(&type20);
   auto param8 = model->addOperand(&type20);
-  auto param9 = model->addOperand(&type20);
+  auto param9 = model->addOperand(&type19);
+  auto param10 = model->addOperand(&type19);
+  auto param11 = model->addOperand(&type20);
+  auto param12 = model->addOperand(&type20);
   auto layout = model->addOperand(&type21);
   auto featureMap = model->addOperand(&type23);
   auto out = model->addOperand(&type38);
@@ -981,26 +1002,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_DEQUANTIZE, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -1032,19 +1059,22 @@
   auto roi = model->addOperand(&type14);
   auto param = model->addOperand(&type18);
   auto param1 = model->addOperand(&type19);
-  auto param2 = model->addOperand(&type19);
+  auto param2 = model->addOperand(&type20);
   auto param3 = model->addOperand(&type20);
+  auto param4 = model->addOperand(&type19);
+  auto param5 = model->addOperand(&type19);
+  auto param6 = model->addOperand(&type19);
   auto scoresOut = model->addOperand(&type15);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type16);
   auto batchSplitOut = model->addOperand(&type16);
   auto in = model->addOperand(&type22);
-  auto param4 = model->addOperand(&type20);
-  auto param5 = model->addOperand(&type20);
-  auto param6 = model->addOperand(&type19);
-  auto param7 = model->addOperand(&type19);
+  auto param7 = model->addOperand(&type20);
   auto param8 = model->addOperand(&type20);
-  auto param9 = model->addOperand(&type20);
+  auto param9 = model->addOperand(&type19);
+  auto param10 = model->addOperand(&type19);
+  auto param11 = model->addOperand(&type20);
+  auto param12 = model->addOperand(&type20);
   auto layout = model->addOperand(&type21);
   auto featureMap = model->addOperand(&type23);
   auto out = model->addOperand(&type35);
@@ -1057,26 +1087,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_DEQUANTIZE, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -1108,19 +1144,22 @@
   auto roi = model->addOperand(&type14);
   auto param = model->addOperand(&type18);
   auto param1 = model->addOperand(&type19);
-  auto param2 = model->addOperand(&type19);
+  auto param2 = model->addOperand(&type20);
   auto param3 = model->addOperand(&type20);
+  auto param4 = model->addOperand(&type19);
+  auto param5 = model->addOperand(&type19);
+  auto param6 = model->addOperand(&type19);
   auto scoresOut = model->addOperand(&type15);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type16);
   auto batchSplitOut = model->addOperand(&type16);
   auto in = model->addOperand(&type22);
-  auto param4 = model->addOperand(&type20);
-  auto param5 = model->addOperand(&type20);
-  auto param6 = model->addOperand(&type19);
-  auto param7 = model->addOperand(&type19);
+  auto param7 = model->addOperand(&type20);
   auto param8 = model->addOperand(&type20);
-  auto param9 = model->addOperand(&type20);
+  auto param9 = model->addOperand(&type19);
+  auto param10 = model->addOperand(&type19);
+  auto param11 = model->addOperand(&type20);
+  auto param12 = model->addOperand(&type20);
   auto layout = model->addOperand(&type21);
   auto featureMap = model->addOperand(&type23);
   auto out = model->addOperand(&type35);
@@ -1133,26 +1172,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_DEQUANTIZE, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -1186,19 +1231,22 @@
   auto roi = model->addOperand(&type14);
   auto param = model->addOperand(&type18);
   auto param1 = model->addOperand(&type19);
-  auto param2 = model->addOperand(&type19);
+  auto param2 = model->addOperand(&type20);
   auto param3 = model->addOperand(&type20);
+  auto param4 = model->addOperand(&type19);
+  auto param5 = model->addOperand(&type19);
+  auto param6 = model->addOperand(&type19);
   auto scoresOut = model->addOperand(&type15);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type16);
   auto batchSplitOut = model->addOperand(&type16);
   auto in = model->addOperand(&type22);
-  auto param4 = model->addOperand(&type20);
-  auto param5 = model->addOperand(&type20);
-  auto param6 = model->addOperand(&type19);
-  auto param7 = model->addOperand(&type19);
+  auto param7 = model->addOperand(&type20);
   auto param8 = model->addOperand(&type20);
-  auto param9 = model->addOperand(&type20);
+  auto param9 = model->addOperand(&type19);
+  auto param10 = model->addOperand(&type19);
+  auto param11 = model->addOperand(&type20);
+  auto param12 = model->addOperand(&type20);
   auto layout = model->addOperand(&type21);
   auto featureMap = model->addOperand(&type23);
   auto out = model->addOperand(&type36);
@@ -1211,26 +1259,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_DEQUANTIZE, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
diff --git a/runtime/test/generated/models/div_v1_2.model.cpp b/runtime/test/generated/models/div_v1_2.model.cpp
index 5436469..2a5d371 100644
--- a/runtime/test/generated/models/div_v1_2.model.cpp
+++ b/runtime/test/generated/models/div_v1_2.model.cpp
@@ -118,23 +118,26 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto op = model->addOperand(&type14);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type13);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -145,31 +148,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_DIV, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_DIV, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -200,23 +209,26 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto op = model->addOperand(&type14);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type13);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -227,31 +239,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_DIV, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_DIV, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -284,23 +302,26 @@
   auto roi = model->addOperand(&type21);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type20);
-  auto param2 = model->addOperand(&type20);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type20);
+  auto param5 = model->addOperand(&type20);
+  auto param6 = model->addOperand(&type20);
   auto scoresOut = model->addOperand(&type24);
   auto roiOut = model->addOperand(&type22);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type18);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type20);
-  auto param7 = model->addOperand(&type20);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type20);
+  auto param10 = model->addOperand(&type20);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type17);
   auto op = model->addOperand(&type19);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type17);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -311,31 +332,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(_Float16) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_DIV, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_DIV, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -367,23 +394,26 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto op = model->addOperand(&type14);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type25);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -394,31 +424,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_DIV, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_DIV, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -450,23 +486,26 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto op = model->addOperand(&type14);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type25);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -477,31 +516,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_DIV, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_DIV, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -535,23 +580,26 @@
   auto roi = model->addOperand(&type21);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type20);
-  auto param2 = model->addOperand(&type20);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type20);
+  auto param5 = model->addOperand(&type20);
+  auto param6 = model->addOperand(&type20);
   auto scoresOut = model->addOperand(&type15);
   auto roiOut = model->addOperand(&type22);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type18);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type20);
-  auto param7 = model->addOperand(&type20);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type20);
+  auto param10 = model->addOperand(&type20);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type17);
   auto op = model->addOperand(&type19);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type26);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -562,31 +610,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(_Float16) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_DIV, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_DIV, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
diff --git a/runtime/test/generated/models/fully_connected_v1_2.model.cpp b/runtime/test/generated/models/fully_connected_v1_2.model.cpp
index 4096634..fc37fb3 100644
--- a/runtime/test/generated/models/fully_connected_v1_2.model.cpp
+++ b/runtime/test/generated/models/fully_connected_v1_2.model.cpp
@@ -277,24 +277,27 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto weights = model->addOperand(&type14);
   auto bias = model->addOperand(&type2);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type15);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -305,33 +308,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {1.0f, 2.0f, 3.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 3);
   static float bias_init[] = {1.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -364,24 +373,27 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto weights = model->addOperand(&type14);
   auto bias = model->addOperand(&type2);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type15);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -392,33 +404,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {1.0f, 2.0f, 3.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 3);
   static float bias_init[] = {1.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -453,24 +471,27 @@
   auto roi = model->addOperand(&type30);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type33);
   auto roiOut = model->addOperand(&type31);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type28);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type27);
   auto weights = model->addOperand(&type34);
   auto bias = model->addOperand(&type26);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type29);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -481,33 +502,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t weights_init[] = {138, 148, 158};
   model->setOperandValue(weights, weights_init, sizeof(uint8_t) * 3);
   static int32_t bias_init[] = {100};
   model->setOperandValue(bias, bias_init, sizeof(int32_t) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -540,24 +567,27 @@
   auto roi = model->addOperand(&type39);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type38);
-  auto param2 = model->addOperand(&type38);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type38);
+  auto param5 = model->addOperand(&type38);
+  auto param6 = model->addOperand(&type38);
   auto scoresOut = model->addOperand(&type42);
   auto roiOut = model->addOperand(&type40);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type36);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type38);
-  auto param7 = model->addOperand(&type38);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type38);
+  auto param10 = model->addOperand(&type38);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type35);
   auto weights = model->addOperand(&type43);
   auto bias = model->addOperand(&type16);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type37);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -568,33 +598,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 weights_init[] = {1.0f, 2.0f, 3.0f};
   model->setOperandValue(weights, weights_init, sizeof(_Float16) * 3);
   static _Float16 bias_init[] = {1.0f};
   model->setOperandValue(bias, bias_init, sizeof(_Float16) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -627,24 +663,27 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type45);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type44);
   auto weights = model->addOperand(&type14);
   auto bias = model->addOperand(&type2);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type15);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -655,33 +694,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {1.0f, 2.0f, 3.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 3);
   static float bias_init[] = {1.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -714,24 +759,27 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type45);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type44);
   auto weights = model->addOperand(&type14);
   auto bias = model->addOperand(&type2);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type15);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -742,33 +790,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {1.0f, 2.0f, 3.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 3);
   static float bias_init[] = {1.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -803,24 +857,27 @@
   auto roi = model->addOperand(&type30);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type33);
   auto roiOut = model->addOperand(&type31);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type47);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type46);
   auto weights = model->addOperand(&type34);
   auto bias = model->addOperand(&type26);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type29);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -831,33 +888,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t weights_init[] = {138, 148, 158};
   model->setOperandValue(weights, weights_init, sizeof(uint8_t) * 3);
   static int32_t bias_init[] = {100};
   model->setOperandValue(bias, bias_init, sizeof(int32_t) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -890,24 +953,27 @@
   auto roi = model->addOperand(&type39);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type38);
-  auto param2 = model->addOperand(&type38);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type38);
+  auto param5 = model->addOperand(&type38);
+  auto param6 = model->addOperand(&type38);
   auto scoresOut = model->addOperand(&type42);
   auto roiOut = model->addOperand(&type40);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type49);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type38);
-  auto param7 = model->addOperand(&type38);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type38);
+  auto param10 = model->addOperand(&type38);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type48);
   auto weights = model->addOperand(&type43);
   auto bias = model->addOperand(&type16);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type37);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -918,33 +984,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 weights_init[] = {1.0f, 2.0f, 3.0f};
   model->setOperandValue(weights, weights_init, sizeof(_Float16) * 3);
   static _Float16 bias_init[] = {1.0f};
   model->setOperandValue(bias, bias_init, sizeof(_Float16) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -977,24 +1049,27 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto weights = model->addOperand(&type14);
   auto bias = model->addOperand(&type2);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type23);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -1005,33 +1080,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {1.0f, 2.0f, 3.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 3);
   static float bias_init[] = {1.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1064,24 +1145,27 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto weights = model->addOperand(&type14);
   auto bias = model->addOperand(&type2);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type23);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -1092,33 +1176,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {1.0f, 2.0f, 3.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 3);
   static float bias_init[] = {1.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1153,24 +1243,27 @@
   auto roi = model->addOperand(&type30);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type33);
   auto roiOut = model->addOperand(&type31);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type28);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type27);
   auto weights = model->addOperand(&type34);
   auto bias = model->addOperand(&type26);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type25);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -1181,33 +1274,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t weights_init[] = {138, 148, 158};
   model->setOperandValue(weights, weights_init, sizeof(uint8_t) * 3);
   static int32_t bias_init[] = {100};
   model->setOperandValue(bias, bias_init, sizeof(int32_t) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1240,24 +1339,27 @@
   auto roi = model->addOperand(&type39);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type38);
-  auto param2 = model->addOperand(&type38);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type38);
+  auto param5 = model->addOperand(&type38);
+  auto param6 = model->addOperand(&type38);
   auto scoresOut = model->addOperand(&type50);
   auto roiOut = model->addOperand(&type40);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type36);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type38);
-  auto param7 = model->addOperand(&type38);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type38);
+  auto param10 = model->addOperand(&type38);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type35);
   auto weights = model->addOperand(&type43);
   auto bias = model->addOperand(&type16);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type24);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -1268,33 +1370,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 weights_init[] = {1.0f, 2.0f, 3.0f};
   model->setOperandValue(weights, weights_init, sizeof(_Float16) * 3);
   static _Float16 bias_init[] = {1.0f};
   model->setOperandValue(bias, bias_init, sizeof(_Float16) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1327,24 +1435,27 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type45);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type44);
   auto weights = model->addOperand(&type14);
   auto bias = model->addOperand(&type2);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type23);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -1355,33 +1466,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {1.0f, 2.0f, 3.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 3);
   static float bias_init[] = {1.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1414,24 +1531,27 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type45);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type44);
   auto weights = model->addOperand(&type14);
   auto bias = model->addOperand(&type2);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type23);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -1442,33 +1562,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float weights_init[] = {1.0f, 2.0f, 3.0f};
   model->setOperandValue(weights, weights_init, sizeof(float) * 3);
   static float bias_init[] = {1.0f};
   model->setOperandValue(bias, bias_init, sizeof(float) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1503,24 +1629,27 @@
   auto roi = model->addOperand(&type30);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type33);
   auto roiOut = model->addOperand(&type31);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type47);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type46);
   auto weights = model->addOperand(&type34);
   auto bias = model->addOperand(&type26);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type25);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -1531,33 +1660,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t weights_init[] = {138, 148, 158};
   model->setOperandValue(weights, weights_init, sizeof(uint8_t) * 3);
   static int32_t bias_init[] = {100};
   model->setOperandValue(bias, bias_init, sizeof(int32_t) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1590,24 +1725,27 @@
   auto roi = model->addOperand(&type39);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type38);
-  auto param2 = model->addOperand(&type38);
+  auto param2 = model->addOperand(&type3);
   auto param3 = model->addOperand(&type3);
+  auto param4 = model->addOperand(&type38);
+  auto param5 = model->addOperand(&type38);
+  auto param6 = model->addOperand(&type38);
   auto scoresOut = model->addOperand(&type50);
   auto roiOut = model->addOperand(&type40);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type49);
-  auto param4 = model->addOperand(&type3);
-  auto param5 = model->addOperand(&type3);
-  auto param6 = model->addOperand(&type38);
-  auto param7 = model->addOperand(&type38);
+  auto param7 = model->addOperand(&type3);
   auto param8 = model->addOperand(&type3);
-  auto param9 = model->addOperand(&type3);
+  auto param9 = model->addOperand(&type38);
+  auto param10 = model->addOperand(&type38);
+  auto param11 = model->addOperand(&type3);
+  auto param12 = model->addOperand(&type3);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type48);
   auto weights = model->addOperand(&type43);
   auto bias = model->addOperand(&type16);
-  auto param10 = model->addOperand(&type3);
+  auto param13 = model->addOperand(&type3);
   auto out = model->addOperand(&type24);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -1618,33 +1756,39 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 weights_init[] = {1.0f, 2.0f, 3.0f};
   model->setOperandValue(weights, weights_init, sizeof(_Float16) * 3);
   static _Float16 bias_init[] = {1.0f};
   model->setOperandValue(bias, bias_init, sizeof(_Float16) * 1);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_FULLY_CONNECTED, {featureMap, weights, bias, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
diff --git a/runtime/test/generated/models/l2_pool_v1_2.model.cpp b/runtime/test/generated/models/l2_pool_v1_2.model.cpp
index c850c08..bd94083 100644
--- a/runtime/test/generated/models/l2_pool_v1_2.model.cpp
+++ b/runtime/test/generated/models/l2_pool_v1_2.model.cpp
@@ -2410,30 +2410,33 @@
   auto roi = model->addOperand(&type8);
   auto param24 = model->addOperand(&type12);
   auto param25 = model->addOperand(&type13);
-  auto param26 = model->addOperand(&type13);
+  auto param26 = model->addOperand(&type2);
   auto param27 = model->addOperand(&type2);
+  auto param28 = model->addOperand(&type13);
+  auto param29 = model->addOperand(&type13);
+  auto param30 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param28 = model->addOperand(&type2);
-  auto param29 = model->addOperand(&type2);
-  auto param30 = model->addOperand(&type13);
-  auto param31 = model->addOperand(&type13);
+  auto param31 = model->addOperand(&type2);
   auto param32 = model->addOperand(&type2);
-  auto param33 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type15);
-  auto param34 = model->addOperand(&type2);
+  auto param33 = model->addOperand(&type13);
+  auto param34 = model->addOperand(&type13);
   auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type15);
   auto param37 = model->addOperand(&type2);
   auto param38 = model->addOperand(&type2);
   auto param39 = model->addOperand(&type2);
   auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
   auto param42 = model->addOperand(&type2);
+  auto param43 = model->addOperand(&type2);
+  auto param44 = model->addOperand(&type2);
+  auto param45 = model->addOperand(&type2);
   auto out = model->addOperand(&type16);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -2444,45 +2447,51 @@
   model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static float param25_init[] = {0.3f};
   model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param26_init[] = {-1};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
-  model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
+  static float param28_init[] = {0.4f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static float param29_init[] = {1.0f};
+  model->setOperandValue(param29, param29_init, sizeof(float) * 1);
+  static float param30_init[] = {0.3f};
   model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
-  model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
+  static int32_t param31_init[] = {2};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {2};
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param33_init[] = {2.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {2.0f};
+  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
+  static int32_t param35_init[] = {4};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {4};
+  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param34_init[] = {0};
-  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
-  static int32_t param35_init[] = {0};
-  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {0};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static int32_t param37_init[] = {0};
   model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {1};
+  static int32_t param38_init[] = {0};
   model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static int32_t param39_init[] = {1};
+  static int32_t param39_init[] = {0};
   model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
-  static int32_t param40_init[] = {2};
+  static int32_t param40_init[] = {0};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {2};
+  static int32_t param41_init[] = {1};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {0};
+  static int32_t param42_init[] = {1};
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param28, param29, param30, param31, param32, param33, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param34, param35, param36, param37, param38, param39, param40, param41, param42, layout}, {out});
+  static int32_t param43_init[] = {2};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {2};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27, param28, param29, param30}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param31, param32, param33, param34, param35, param36, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param37, param38, param39, param40, param41, param42, param43, param44, param45, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2513,30 +2522,33 @@
   auto roi = model->addOperand(&type8);
   auto param24 = model->addOperand(&type12);
   auto param25 = model->addOperand(&type13);
-  auto param26 = model->addOperand(&type13);
+  auto param26 = model->addOperand(&type2);
   auto param27 = model->addOperand(&type2);
+  auto param28 = model->addOperand(&type13);
+  auto param29 = model->addOperand(&type13);
+  auto param30 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param28 = model->addOperand(&type2);
-  auto param29 = model->addOperand(&type2);
-  auto param30 = model->addOperand(&type13);
-  auto param31 = model->addOperand(&type13);
+  auto param31 = model->addOperand(&type2);
   auto param32 = model->addOperand(&type2);
-  auto param33 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type15);
-  auto param34 = model->addOperand(&type2);
+  auto param33 = model->addOperand(&type13);
+  auto param34 = model->addOperand(&type13);
   auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type15);
   auto param37 = model->addOperand(&type2);
   auto param38 = model->addOperand(&type2);
   auto param39 = model->addOperand(&type2);
   auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
   auto param42 = model->addOperand(&type2);
+  auto param43 = model->addOperand(&type2);
+  auto param44 = model->addOperand(&type2);
+  auto param45 = model->addOperand(&type2);
   auto out = model->addOperand(&type16);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -2547,45 +2559,51 @@
   model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static float param25_init[] = {0.3f};
   model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param26_init[] = {-1};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
-  model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
+  static float param28_init[] = {0.4f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static float param29_init[] = {1.0f};
+  model->setOperandValue(param29, param29_init, sizeof(float) * 1);
+  static float param30_init[] = {0.3f};
   model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
-  model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
+  static int32_t param31_init[] = {2};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {2};
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param33_init[] = {2.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {2.0f};
+  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
+  static int32_t param35_init[] = {4};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {4};
+  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param34_init[] = {0};
-  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
-  static int32_t param35_init[] = {0};
-  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {0};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static int32_t param37_init[] = {0};
   model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {1};
+  static int32_t param38_init[] = {0};
   model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static int32_t param39_init[] = {1};
+  static int32_t param39_init[] = {0};
   model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
-  static int32_t param40_init[] = {2};
+  static int32_t param40_init[] = {0};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {2};
+  static int32_t param41_init[] = {1};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {0};
+  static int32_t param42_init[] = {1};
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param28, param29, param30, param31, param32, param33, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param34, param35, param36, param37, param38, param39, param40, param41, param42, layout}, {out});
+  static int32_t param43_init[] = {2};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {2};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27, param28, param29, param30}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param31, param32, param33, param34, param35, param36, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param37, param38, param39, param40, param41, param42, param43, param44, param45, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2618,30 +2636,33 @@
   auto roi = model->addOperand(&type38);
   auto param24 = model->addOperand(&type12);
   auto param25 = model->addOperand(&type37);
-  auto param26 = model->addOperand(&type37);
+  auto param26 = model->addOperand(&type2);
   auto param27 = model->addOperand(&type2);
+  auto param28 = model->addOperand(&type37);
+  auto param29 = model->addOperand(&type37);
+  auto param30 = model->addOperand(&type37);
   auto scoresOut = model->addOperand(&type41);
   auto roiOut = model->addOperand(&type39);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type35);
-  auto param28 = model->addOperand(&type2);
-  auto param29 = model->addOperand(&type2);
-  auto param30 = model->addOperand(&type37);
-  auto param31 = model->addOperand(&type37);
+  auto param31 = model->addOperand(&type2);
   auto param32 = model->addOperand(&type2);
-  auto param33 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type34);
-  auto param34 = model->addOperand(&type2);
+  auto param33 = model->addOperand(&type37);
+  auto param34 = model->addOperand(&type37);
   auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type34);
   auto param37 = model->addOperand(&type2);
   auto param38 = model->addOperand(&type2);
   auto param39 = model->addOperand(&type2);
   auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
   auto param42 = model->addOperand(&type2);
+  auto param43 = model->addOperand(&type2);
+  auto param44 = model->addOperand(&type2);
+  auto param45 = model->addOperand(&type2);
   auto out = model->addOperand(&type36);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -2652,45 +2673,51 @@
   model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static _Float16 param25_init[] = {0.30000001192092896f};
   model->setOperandValue(param25, param25_init, sizeof(_Float16) * 1);
-  static _Float16 param26_init[] = {0.4000000059604645f};
-  model->setOperandValue(param26, param26_init, sizeof(_Float16) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param26_init[] = {-1};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
-  model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static _Float16 param30_init[] = {2.0f};
+  static _Float16 param28_init[] = {0.4000000059604645f};
+  model->setOperandValue(param28, param28_init, sizeof(_Float16) * 1);
+  static _Float16 param29_init[] = {1.0f};
+  model->setOperandValue(param29, param29_init, sizeof(_Float16) * 1);
+  static _Float16 param30_init[] = {0.30000001192092896f};
   model->setOperandValue(param30, param30_init, sizeof(_Float16) * 1);
-  static _Float16 param31_init[] = {2.0f};
-  model->setOperandValue(param31, param31_init, sizeof(_Float16) * 1);
-  static int32_t param32_init[] = {4};
+  static int32_t param31_init[] = {2};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {2};
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static _Float16 param33_init[] = {2.0f};
+  model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
+  static _Float16 param34_init[] = {2.0f};
+  model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
+  static int32_t param35_init[] = {4};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {4};
+  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param34_init[] = {0};
-  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
-  static int32_t param35_init[] = {0};
-  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {0};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static int32_t param37_init[] = {0};
   model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {1};
+  static int32_t param38_init[] = {0};
   model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static int32_t param39_init[] = {1};
+  static int32_t param39_init[] = {0};
   model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
-  static int32_t param40_init[] = {2};
+  static int32_t param40_init[] = {0};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {2};
+  static int32_t param41_init[] = {1};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {0};
+  static int32_t param42_init[] = {1};
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param28, param29, param30, param31, param32, param33, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param34, param35, param36, param37, param38, param39, param40, param41, param42, layout}, {out});
+  static int32_t param43_init[] = {2};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {2};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27, param28, param29, param30}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param31, param32, param33, param34, param35, param36, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param37, param38, param39, param40, param41, param42, param43, param44, param45, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2721,30 +2748,33 @@
   auto roi = model->addOperand(&type8);
   auto param24 = model->addOperand(&type12);
   auto param25 = model->addOperand(&type13);
-  auto param26 = model->addOperand(&type13);
+  auto param26 = model->addOperand(&type2);
   auto param27 = model->addOperand(&type2);
+  auto param28 = model->addOperand(&type13);
+  auto param29 = model->addOperand(&type13);
+  auto param30 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param28 = model->addOperand(&type2);
-  auto param29 = model->addOperand(&type2);
-  auto param30 = model->addOperand(&type13);
-  auto param31 = model->addOperand(&type13);
+  auto param31 = model->addOperand(&type2);
   auto param32 = model->addOperand(&type2);
-  auto param33 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type42);
-  auto param34 = model->addOperand(&type2);
+  auto param33 = model->addOperand(&type13);
+  auto param34 = model->addOperand(&type13);
   auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type42);
   auto param37 = model->addOperand(&type2);
   auto param38 = model->addOperand(&type2);
   auto param39 = model->addOperand(&type2);
   auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
   auto param42 = model->addOperand(&type2);
+  auto param43 = model->addOperand(&type2);
+  auto param44 = model->addOperand(&type2);
+  auto param45 = model->addOperand(&type2);
   auto out = model->addOperand(&type16);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -2755,45 +2785,51 @@
   model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static float param25_init[] = {0.3f};
   model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param26_init[] = {-1};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
-  model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
+  static float param28_init[] = {0.4f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static float param29_init[] = {1.0f};
+  model->setOperandValue(param29, param29_init, sizeof(float) * 1);
+  static float param30_init[] = {0.3f};
   model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
-  model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
+  static int32_t param31_init[] = {2};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {2};
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param33_init[] = {2.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {2.0f};
+  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
+  static int32_t param35_init[] = {4};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {4};
+  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param34_init[] = {0};
-  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
-  static int32_t param35_init[] = {0};
-  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {0};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static int32_t param37_init[] = {0};
   model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {1};
+  static int32_t param38_init[] = {0};
   model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static int32_t param39_init[] = {1};
+  static int32_t param39_init[] = {0};
   model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
-  static int32_t param40_init[] = {2};
+  static int32_t param40_init[] = {0};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {2};
+  static int32_t param41_init[] = {1};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {0};
+  static int32_t param42_init[] = {1};
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param28, param29, param30, param31, param32, param33, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param34, param35, param36, param37, param38, param39, param40, param41, param42, layout}, {out});
+  static int32_t param43_init[] = {2};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {2};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27, param28, param29, param30}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param31, param32, param33, param34, param35, param36, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param37, param38, param39, param40, param41, param42, param43, param44, param45, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2824,30 +2860,33 @@
   auto roi = model->addOperand(&type8);
   auto param24 = model->addOperand(&type12);
   auto param25 = model->addOperand(&type13);
-  auto param26 = model->addOperand(&type13);
+  auto param26 = model->addOperand(&type2);
   auto param27 = model->addOperand(&type2);
+  auto param28 = model->addOperand(&type13);
+  auto param29 = model->addOperand(&type13);
+  auto param30 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param28 = model->addOperand(&type2);
-  auto param29 = model->addOperand(&type2);
-  auto param30 = model->addOperand(&type13);
-  auto param31 = model->addOperand(&type13);
+  auto param31 = model->addOperand(&type2);
   auto param32 = model->addOperand(&type2);
-  auto param33 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type42);
-  auto param34 = model->addOperand(&type2);
+  auto param33 = model->addOperand(&type13);
+  auto param34 = model->addOperand(&type13);
   auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type42);
   auto param37 = model->addOperand(&type2);
   auto param38 = model->addOperand(&type2);
   auto param39 = model->addOperand(&type2);
   auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
   auto param42 = model->addOperand(&type2);
+  auto param43 = model->addOperand(&type2);
+  auto param44 = model->addOperand(&type2);
+  auto param45 = model->addOperand(&type2);
   auto out = model->addOperand(&type16);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -2858,45 +2897,51 @@
   model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static float param25_init[] = {0.3f};
   model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param26_init[] = {-1};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
-  model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
+  static float param28_init[] = {0.4f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static float param29_init[] = {1.0f};
+  model->setOperandValue(param29, param29_init, sizeof(float) * 1);
+  static float param30_init[] = {0.3f};
   model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
-  model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
+  static int32_t param31_init[] = {2};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {2};
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param33_init[] = {2.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {2.0f};
+  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
+  static int32_t param35_init[] = {4};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {4};
+  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param34_init[] = {0};
-  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
-  static int32_t param35_init[] = {0};
-  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {0};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static int32_t param37_init[] = {0};
   model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {1};
+  static int32_t param38_init[] = {0};
   model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static int32_t param39_init[] = {1};
+  static int32_t param39_init[] = {0};
   model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
-  static int32_t param40_init[] = {2};
+  static int32_t param40_init[] = {0};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {2};
+  static int32_t param41_init[] = {1};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {0};
+  static int32_t param42_init[] = {1};
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param28, param29, param30, param31, param32, param33, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param34, param35, param36, param37, param38, param39, param40, param41, param42, layout}, {out});
+  static int32_t param43_init[] = {2};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {2};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27, param28, param29, param30}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param31, param32, param33, param34, param35, param36, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param37, param38, param39, param40, param41, param42, param43, param44, param45, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2929,30 +2974,33 @@
   auto roi = model->addOperand(&type38);
   auto param24 = model->addOperand(&type12);
   auto param25 = model->addOperand(&type37);
-  auto param26 = model->addOperand(&type37);
+  auto param26 = model->addOperand(&type2);
   auto param27 = model->addOperand(&type2);
+  auto param28 = model->addOperand(&type37);
+  auto param29 = model->addOperand(&type37);
+  auto param30 = model->addOperand(&type37);
   auto scoresOut = model->addOperand(&type41);
   auto roiOut = model->addOperand(&type39);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type35);
-  auto param28 = model->addOperand(&type2);
-  auto param29 = model->addOperand(&type2);
-  auto param30 = model->addOperand(&type37);
-  auto param31 = model->addOperand(&type37);
+  auto param31 = model->addOperand(&type2);
   auto param32 = model->addOperand(&type2);
-  auto param33 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type43);
-  auto param34 = model->addOperand(&type2);
+  auto param33 = model->addOperand(&type37);
+  auto param34 = model->addOperand(&type37);
   auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type43);
   auto param37 = model->addOperand(&type2);
   auto param38 = model->addOperand(&type2);
   auto param39 = model->addOperand(&type2);
   auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
   auto param42 = model->addOperand(&type2);
+  auto param43 = model->addOperand(&type2);
+  auto param44 = model->addOperand(&type2);
+  auto param45 = model->addOperand(&type2);
   auto out = model->addOperand(&type36);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -2963,45 +3011,51 @@
   model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static _Float16 param25_init[] = {0.30000001192092896f};
   model->setOperandValue(param25, param25_init, sizeof(_Float16) * 1);
-  static _Float16 param26_init[] = {0.4000000059604645f};
-  model->setOperandValue(param26, param26_init, sizeof(_Float16) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param26_init[] = {-1};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
-  model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static _Float16 param30_init[] = {2.0f};
+  static _Float16 param28_init[] = {0.4000000059604645f};
+  model->setOperandValue(param28, param28_init, sizeof(_Float16) * 1);
+  static _Float16 param29_init[] = {1.0f};
+  model->setOperandValue(param29, param29_init, sizeof(_Float16) * 1);
+  static _Float16 param30_init[] = {0.30000001192092896f};
   model->setOperandValue(param30, param30_init, sizeof(_Float16) * 1);
-  static _Float16 param31_init[] = {2.0f};
-  model->setOperandValue(param31, param31_init, sizeof(_Float16) * 1);
-  static int32_t param32_init[] = {4};
+  static int32_t param31_init[] = {2};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {2};
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static _Float16 param33_init[] = {2.0f};
+  model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
+  static _Float16 param34_init[] = {2.0f};
+  model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
+  static int32_t param35_init[] = {4};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {4};
+  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param34_init[] = {0};
-  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
-  static int32_t param35_init[] = {0};
-  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {0};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static int32_t param37_init[] = {0};
   model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {1};
+  static int32_t param38_init[] = {0};
   model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static int32_t param39_init[] = {1};
+  static int32_t param39_init[] = {0};
   model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
-  static int32_t param40_init[] = {2};
+  static int32_t param40_init[] = {0};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {2};
+  static int32_t param41_init[] = {1};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {0};
+  static int32_t param42_init[] = {1};
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param28, param29, param30, param31, param32, param33, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param34, param35, param36, param37, param38, param39, param40, param41, param42, layout}, {out});
+  static int32_t param43_init[] = {2};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {2};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27, param28, param29, param30}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param31, param32, param33, param34, param35, param36, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param37, param38, param39, param40, param41, param42, param43, param44, param45, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3032,30 +3086,33 @@
   auto roi = model->addOperand(&type8);
   auto param24 = model->addOperand(&type12);
   auto param25 = model->addOperand(&type13);
-  auto param26 = model->addOperand(&type13);
+  auto param26 = model->addOperand(&type2);
   auto param27 = model->addOperand(&type2);
+  auto param28 = model->addOperand(&type13);
+  auto param29 = model->addOperand(&type13);
+  auto param30 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param28 = model->addOperand(&type2);
-  auto param29 = model->addOperand(&type2);
-  auto param30 = model->addOperand(&type13);
-  auto param31 = model->addOperand(&type13);
+  auto param31 = model->addOperand(&type2);
   auto param32 = model->addOperand(&type2);
-  auto param33 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type15);
-  auto param34 = model->addOperand(&type2);
+  auto param33 = model->addOperand(&type13);
+  auto param34 = model->addOperand(&type13);
   auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type15);
   auto param37 = model->addOperand(&type2);
   auto param38 = model->addOperand(&type2);
   auto param39 = model->addOperand(&type2);
   auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
   auto param42 = model->addOperand(&type2);
+  auto param43 = model->addOperand(&type2);
+  auto param44 = model->addOperand(&type2);
+  auto param45 = model->addOperand(&type2);
   auto out = model->addOperand(&type20);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -3066,45 +3123,51 @@
   model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static float param25_init[] = {0.3f};
   model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param26_init[] = {-1};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
-  model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
+  static float param28_init[] = {0.4f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static float param29_init[] = {1.0f};
+  model->setOperandValue(param29, param29_init, sizeof(float) * 1);
+  static float param30_init[] = {0.3f};
   model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
-  model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
+  static int32_t param31_init[] = {2};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {2};
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param33_init[] = {2.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {2.0f};
+  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
+  static int32_t param35_init[] = {4};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {4};
+  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param34_init[] = {0};
-  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
-  static int32_t param35_init[] = {0};
-  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {0};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static int32_t param37_init[] = {0};
   model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {1};
+  static int32_t param38_init[] = {0};
   model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static int32_t param39_init[] = {1};
+  static int32_t param39_init[] = {0};
   model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
-  static int32_t param40_init[] = {2};
+  static int32_t param40_init[] = {0};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {2};
+  static int32_t param41_init[] = {1};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {0};
+  static int32_t param42_init[] = {1};
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param28, param29, param30, param31, param32, param33, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param34, param35, param36, param37, param38, param39, param40, param41, param42, layout}, {out});
+  static int32_t param43_init[] = {2};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {2};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27, param28, param29, param30}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param31, param32, param33, param34, param35, param36, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param37, param38, param39, param40, param41, param42, param43, param44, param45, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3135,30 +3198,33 @@
   auto roi = model->addOperand(&type8);
   auto param24 = model->addOperand(&type12);
   auto param25 = model->addOperand(&type13);
-  auto param26 = model->addOperand(&type13);
+  auto param26 = model->addOperand(&type2);
   auto param27 = model->addOperand(&type2);
+  auto param28 = model->addOperand(&type13);
+  auto param29 = model->addOperand(&type13);
+  auto param30 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param28 = model->addOperand(&type2);
-  auto param29 = model->addOperand(&type2);
-  auto param30 = model->addOperand(&type13);
-  auto param31 = model->addOperand(&type13);
+  auto param31 = model->addOperand(&type2);
   auto param32 = model->addOperand(&type2);
-  auto param33 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type15);
-  auto param34 = model->addOperand(&type2);
+  auto param33 = model->addOperand(&type13);
+  auto param34 = model->addOperand(&type13);
   auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type15);
   auto param37 = model->addOperand(&type2);
   auto param38 = model->addOperand(&type2);
   auto param39 = model->addOperand(&type2);
   auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
   auto param42 = model->addOperand(&type2);
+  auto param43 = model->addOperand(&type2);
+  auto param44 = model->addOperand(&type2);
+  auto param45 = model->addOperand(&type2);
   auto out = model->addOperand(&type20);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -3169,45 +3235,51 @@
   model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static float param25_init[] = {0.3f};
   model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param26_init[] = {-1};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
-  model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
+  static float param28_init[] = {0.4f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static float param29_init[] = {1.0f};
+  model->setOperandValue(param29, param29_init, sizeof(float) * 1);
+  static float param30_init[] = {0.3f};
   model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
-  model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
+  static int32_t param31_init[] = {2};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {2};
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param33_init[] = {2.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {2.0f};
+  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
+  static int32_t param35_init[] = {4};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {4};
+  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param34_init[] = {0};
-  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
-  static int32_t param35_init[] = {0};
-  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {0};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static int32_t param37_init[] = {0};
   model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {1};
+  static int32_t param38_init[] = {0};
   model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static int32_t param39_init[] = {1};
+  static int32_t param39_init[] = {0};
   model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
-  static int32_t param40_init[] = {2};
+  static int32_t param40_init[] = {0};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {2};
+  static int32_t param41_init[] = {1};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {0};
+  static int32_t param42_init[] = {1};
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param28, param29, param30, param31, param32, param33, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param34, param35, param36, param37, param38, param39, param40, param41, param42, layout}, {out});
+  static int32_t param43_init[] = {2};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {2};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27, param28, param29, param30}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param31, param32, param33, param34, param35, param36, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param37, param38, param39, param40, param41, param42, param43, param44, param45, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3240,30 +3312,33 @@
   auto roi = model->addOperand(&type38);
   auto param24 = model->addOperand(&type12);
   auto param25 = model->addOperand(&type37);
-  auto param26 = model->addOperand(&type37);
+  auto param26 = model->addOperand(&type2);
   auto param27 = model->addOperand(&type2);
+  auto param28 = model->addOperand(&type37);
+  auto param29 = model->addOperand(&type37);
+  auto param30 = model->addOperand(&type37);
   auto scoresOut = model->addOperand(&type44);
   auto roiOut = model->addOperand(&type39);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type35);
-  auto param28 = model->addOperand(&type2);
-  auto param29 = model->addOperand(&type2);
-  auto param30 = model->addOperand(&type37);
-  auto param31 = model->addOperand(&type37);
+  auto param31 = model->addOperand(&type2);
   auto param32 = model->addOperand(&type2);
-  auto param33 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type34);
-  auto param34 = model->addOperand(&type2);
+  auto param33 = model->addOperand(&type37);
+  auto param34 = model->addOperand(&type37);
   auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type34);
   auto param37 = model->addOperand(&type2);
   auto param38 = model->addOperand(&type2);
   auto param39 = model->addOperand(&type2);
   auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
   auto param42 = model->addOperand(&type2);
+  auto param43 = model->addOperand(&type2);
+  auto param44 = model->addOperand(&type2);
+  auto param45 = model->addOperand(&type2);
   auto out = model->addOperand(&type21);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -3274,45 +3349,51 @@
   model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static _Float16 param25_init[] = {0.30000001192092896f};
   model->setOperandValue(param25, param25_init, sizeof(_Float16) * 1);
-  static _Float16 param26_init[] = {0.4000000059604645f};
-  model->setOperandValue(param26, param26_init, sizeof(_Float16) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param26_init[] = {-1};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
-  model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static _Float16 param30_init[] = {2.0f};
+  static _Float16 param28_init[] = {0.4000000059604645f};
+  model->setOperandValue(param28, param28_init, sizeof(_Float16) * 1);
+  static _Float16 param29_init[] = {1.0f};
+  model->setOperandValue(param29, param29_init, sizeof(_Float16) * 1);
+  static _Float16 param30_init[] = {0.30000001192092896f};
   model->setOperandValue(param30, param30_init, sizeof(_Float16) * 1);
-  static _Float16 param31_init[] = {2.0f};
-  model->setOperandValue(param31, param31_init, sizeof(_Float16) * 1);
-  static int32_t param32_init[] = {4};
+  static int32_t param31_init[] = {2};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {2};
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static _Float16 param33_init[] = {2.0f};
+  model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
+  static _Float16 param34_init[] = {2.0f};
+  model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
+  static int32_t param35_init[] = {4};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {4};
+  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param34_init[] = {0};
-  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
-  static int32_t param35_init[] = {0};
-  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {0};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static int32_t param37_init[] = {0};
   model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {1};
+  static int32_t param38_init[] = {0};
   model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static int32_t param39_init[] = {1};
+  static int32_t param39_init[] = {0};
   model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
-  static int32_t param40_init[] = {2};
+  static int32_t param40_init[] = {0};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {2};
+  static int32_t param41_init[] = {1};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {0};
+  static int32_t param42_init[] = {1};
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param28, param29, param30, param31, param32, param33, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param34, param35, param36, param37, param38, param39, param40, param41, param42, layout}, {out});
+  static int32_t param43_init[] = {2};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {2};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27, param28, param29, param30}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param31, param32, param33, param34, param35, param36, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param37, param38, param39, param40, param41, param42, param43, param44, param45, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3343,30 +3424,33 @@
   auto roi = model->addOperand(&type8);
   auto param24 = model->addOperand(&type12);
   auto param25 = model->addOperand(&type13);
-  auto param26 = model->addOperand(&type13);
+  auto param26 = model->addOperand(&type2);
   auto param27 = model->addOperand(&type2);
+  auto param28 = model->addOperand(&type13);
+  auto param29 = model->addOperand(&type13);
+  auto param30 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param28 = model->addOperand(&type2);
-  auto param29 = model->addOperand(&type2);
-  auto param30 = model->addOperand(&type13);
-  auto param31 = model->addOperand(&type13);
+  auto param31 = model->addOperand(&type2);
   auto param32 = model->addOperand(&type2);
-  auto param33 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type42);
-  auto param34 = model->addOperand(&type2);
+  auto param33 = model->addOperand(&type13);
+  auto param34 = model->addOperand(&type13);
   auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type42);
   auto param37 = model->addOperand(&type2);
   auto param38 = model->addOperand(&type2);
   auto param39 = model->addOperand(&type2);
   auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
   auto param42 = model->addOperand(&type2);
+  auto param43 = model->addOperand(&type2);
+  auto param44 = model->addOperand(&type2);
+  auto param45 = model->addOperand(&type2);
   auto out = model->addOperand(&type20);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -3377,45 +3461,51 @@
   model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static float param25_init[] = {0.3f};
   model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param26_init[] = {-1};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
-  model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
+  static float param28_init[] = {0.4f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static float param29_init[] = {1.0f};
+  model->setOperandValue(param29, param29_init, sizeof(float) * 1);
+  static float param30_init[] = {0.3f};
   model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
-  model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
+  static int32_t param31_init[] = {2};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {2};
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param33_init[] = {2.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {2.0f};
+  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
+  static int32_t param35_init[] = {4};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {4};
+  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param34_init[] = {0};
-  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
-  static int32_t param35_init[] = {0};
-  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {0};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static int32_t param37_init[] = {0};
   model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {1};
+  static int32_t param38_init[] = {0};
   model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static int32_t param39_init[] = {1};
+  static int32_t param39_init[] = {0};
   model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
-  static int32_t param40_init[] = {2};
+  static int32_t param40_init[] = {0};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {2};
+  static int32_t param41_init[] = {1};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {0};
+  static int32_t param42_init[] = {1};
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param28, param29, param30, param31, param32, param33, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param34, param35, param36, param37, param38, param39, param40, param41, param42, layout}, {out});
+  static int32_t param43_init[] = {2};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {2};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27, param28, param29, param30}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param31, param32, param33, param34, param35, param36, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param37, param38, param39, param40, param41, param42, param43, param44, param45, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3446,30 +3536,33 @@
   auto roi = model->addOperand(&type8);
   auto param24 = model->addOperand(&type12);
   auto param25 = model->addOperand(&type13);
-  auto param26 = model->addOperand(&type13);
+  auto param26 = model->addOperand(&type2);
   auto param27 = model->addOperand(&type2);
+  auto param28 = model->addOperand(&type13);
+  auto param29 = model->addOperand(&type13);
+  auto param30 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param28 = model->addOperand(&type2);
-  auto param29 = model->addOperand(&type2);
-  auto param30 = model->addOperand(&type13);
-  auto param31 = model->addOperand(&type13);
+  auto param31 = model->addOperand(&type2);
   auto param32 = model->addOperand(&type2);
-  auto param33 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type42);
-  auto param34 = model->addOperand(&type2);
+  auto param33 = model->addOperand(&type13);
+  auto param34 = model->addOperand(&type13);
   auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type42);
   auto param37 = model->addOperand(&type2);
   auto param38 = model->addOperand(&type2);
   auto param39 = model->addOperand(&type2);
   auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
   auto param42 = model->addOperand(&type2);
+  auto param43 = model->addOperand(&type2);
+  auto param44 = model->addOperand(&type2);
+  auto param45 = model->addOperand(&type2);
   auto out = model->addOperand(&type20);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -3480,45 +3573,51 @@
   model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static float param25_init[] = {0.3f};
   model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param26_init[] = {-1};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
-  model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
+  static float param28_init[] = {0.4f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static float param29_init[] = {1.0f};
+  model->setOperandValue(param29, param29_init, sizeof(float) * 1);
+  static float param30_init[] = {0.3f};
   model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
-  model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
+  static int32_t param31_init[] = {2};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {2};
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param33_init[] = {2.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {2.0f};
+  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
+  static int32_t param35_init[] = {4};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {4};
+  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param34_init[] = {0};
-  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
-  static int32_t param35_init[] = {0};
-  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {0};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static int32_t param37_init[] = {0};
   model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {1};
+  static int32_t param38_init[] = {0};
   model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static int32_t param39_init[] = {1};
+  static int32_t param39_init[] = {0};
   model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
-  static int32_t param40_init[] = {2};
+  static int32_t param40_init[] = {0};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {2};
+  static int32_t param41_init[] = {1};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {0};
+  static int32_t param42_init[] = {1};
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param28, param29, param30, param31, param32, param33, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param34, param35, param36, param37, param38, param39, param40, param41, param42, layout}, {out});
+  static int32_t param43_init[] = {2};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {2};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27, param28, param29, param30}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param31, param32, param33, param34, param35, param36, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param37, param38, param39, param40, param41, param42, param43, param44, param45, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3551,30 +3650,33 @@
   auto roi = model->addOperand(&type38);
   auto param24 = model->addOperand(&type12);
   auto param25 = model->addOperand(&type37);
-  auto param26 = model->addOperand(&type37);
+  auto param26 = model->addOperand(&type2);
   auto param27 = model->addOperand(&type2);
+  auto param28 = model->addOperand(&type37);
+  auto param29 = model->addOperand(&type37);
+  auto param30 = model->addOperand(&type37);
   auto scoresOut = model->addOperand(&type44);
   auto roiOut = model->addOperand(&type39);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type35);
-  auto param28 = model->addOperand(&type2);
-  auto param29 = model->addOperand(&type2);
-  auto param30 = model->addOperand(&type37);
-  auto param31 = model->addOperand(&type37);
+  auto param31 = model->addOperand(&type2);
   auto param32 = model->addOperand(&type2);
-  auto param33 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type43);
-  auto param34 = model->addOperand(&type2);
+  auto param33 = model->addOperand(&type37);
+  auto param34 = model->addOperand(&type37);
   auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type43);
   auto param37 = model->addOperand(&type2);
   auto param38 = model->addOperand(&type2);
   auto param39 = model->addOperand(&type2);
   auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
   auto param42 = model->addOperand(&type2);
+  auto param43 = model->addOperand(&type2);
+  auto param44 = model->addOperand(&type2);
+  auto param45 = model->addOperand(&type2);
   auto out = model->addOperand(&type21);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -3585,45 +3687,51 @@
   model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static _Float16 param25_init[] = {0.30000001192092896f};
   model->setOperandValue(param25, param25_init, sizeof(_Float16) * 1);
-  static _Float16 param26_init[] = {0.4000000059604645f};
-  model->setOperandValue(param26, param26_init, sizeof(_Float16) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param26_init[] = {-1};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
-  model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static _Float16 param30_init[] = {2.0f};
+  static _Float16 param28_init[] = {0.4000000059604645f};
+  model->setOperandValue(param28, param28_init, sizeof(_Float16) * 1);
+  static _Float16 param29_init[] = {1.0f};
+  model->setOperandValue(param29, param29_init, sizeof(_Float16) * 1);
+  static _Float16 param30_init[] = {0.30000001192092896f};
   model->setOperandValue(param30, param30_init, sizeof(_Float16) * 1);
-  static _Float16 param31_init[] = {2.0f};
-  model->setOperandValue(param31, param31_init, sizeof(_Float16) * 1);
-  static int32_t param32_init[] = {4};
+  static int32_t param31_init[] = {2};
+  model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
+  static int32_t param32_init[] = {2};
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static _Float16 param33_init[] = {2.0f};
+  model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
+  static _Float16 param34_init[] = {2.0f};
+  model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
+  static int32_t param35_init[] = {4};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {4};
+  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param34_init[] = {0};
-  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
-  static int32_t param35_init[] = {0};
-  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {0};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
   static int32_t param37_init[] = {0};
   model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {1};
+  static int32_t param38_init[] = {0};
   model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static int32_t param39_init[] = {1};
+  static int32_t param39_init[] = {0};
   model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
-  static int32_t param40_init[] = {2};
+  static int32_t param40_init[] = {0};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {2};
+  static int32_t param41_init[] = {1};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {0};
+  static int32_t param42_init[] = {1};
   model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param28, param29, param30, param31, param32, param33, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param34, param35, param36, param37, param38, param39, param40, param41, param42, layout}, {out});
+  static int32_t param43_init[] = {2};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {2};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {0};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param24, param25, param26, param27, param28, param29, param30}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param31, param32, param33, param34, param35, param36, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap, param37, param38, param39, param40, param41, param42, param43, param44, param45, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3651,72 +3759,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param43 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type13);
-  auto param45 = model->addOperand(&type13);
-  auto param46 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type12);
+  auto param47 = model->addOperand(&type13);
+  auto param48 = model->addOperand(&type2);
+  auto param49 = model->addOperand(&type2);
+  auto param50 = model->addOperand(&type13);
+  auto param51 = model->addOperand(&type13);
+  auto param52 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type2);
-  auto param49 = model->addOperand(&type13);
-  auto param50 = model->addOperand(&type13);
-  auto param51 = model->addOperand(&type2);
-  auto param52 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
-  auto param55 = model->addOperand(&type2);
-  auto param56 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type13);
+  auto param56 = model->addOperand(&type13);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type15);
+  auto param59 = model->addOperand(&type2);
+  auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type15);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static float param44_init[] = {0.3f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static float param45_init[] = {0.4f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static int32_t param46_init[] = {-1};
+  static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
+  static float param47_init[] = {0.3f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static int32_t param48_init[] = {-1};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static float param50_init[] = {2.0f};
+  static int32_t param49_init[] = {0};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static float param50_init[] = {0.4f};
   model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {1.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {0.3f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param53_init[] = {1};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {1};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
-  static int32_t param55_init[] = {1};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {0};
-  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param43, param44, param45, param46}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param47, param48, param49, param50, param51, param52, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param53, param54, param55, param56, param57, param58, layout}, {out1});
+  static int32_t param59_init[] = {1};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
+  static int32_t param60_init[] = {1};
+  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
+  static int32_t param61_init[] = {1};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param46, param47, param48, param49, param50, param51, param52}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param53, param54, param55, param56, param57, param58, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param59, param60, param61, param62, param63, param64, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -3744,72 +3861,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param43 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type13);
-  auto param45 = model->addOperand(&type13);
-  auto param46 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type12);
+  auto param47 = model->addOperand(&type13);
+  auto param48 = model->addOperand(&type2);
+  auto param49 = model->addOperand(&type2);
+  auto param50 = model->addOperand(&type13);
+  auto param51 = model->addOperand(&type13);
+  auto param52 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type2);
-  auto param49 = model->addOperand(&type13);
-  auto param50 = model->addOperand(&type13);
-  auto param51 = model->addOperand(&type2);
-  auto param52 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
-  auto param55 = model->addOperand(&type2);
-  auto param56 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type13);
+  auto param56 = model->addOperand(&type13);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type15);
+  auto param59 = model->addOperand(&type2);
+  auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type15);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static float param44_init[] = {0.3f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static float param45_init[] = {0.4f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static int32_t param46_init[] = {-1};
+  static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
+  static float param47_init[] = {0.3f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static int32_t param48_init[] = {-1};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static float param50_init[] = {2.0f};
+  static int32_t param49_init[] = {0};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static float param50_init[] = {0.4f};
   model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {1.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {0.3f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param53_init[] = {1};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {1};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
-  static int32_t param55_init[] = {1};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {0};
-  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param43, param44, param45, param46}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param47, param48, param49, param50, param51, param52, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param53, param54, param55, param56, param57, param58, layout}, {out1});
+  static int32_t param59_init[] = {1};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
+  static int32_t param60_init[] = {1};
+  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
+  static int32_t param61_init[] = {1};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param46, param47, param48, param49, param50, param51, param52}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param53, param54, param55, param56, param57, param58, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param59, param60, param61, param62, param63, param64, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -3839,72 +3965,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type40);
   auto roi1 = model->addOperand(&type38);
-  auto param43 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type37);
-  auto param45 = model->addOperand(&type37);
-  auto param46 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type12);
+  auto param47 = model->addOperand(&type37);
+  auto param48 = model->addOperand(&type2);
+  auto param49 = model->addOperand(&type2);
+  auto param50 = model->addOperand(&type37);
+  auto param51 = model->addOperand(&type37);
+  auto param52 = model->addOperand(&type37);
   auto scoresOut1 = model->addOperand(&type41);
   auto roiOut1 = model->addOperand(&type39);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type35);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type2);
-  auto param49 = model->addOperand(&type37);
-  auto param50 = model->addOperand(&type37);
-  auto param51 = model->addOperand(&type2);
-  auto param52 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type34);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
-  auto param55 = model->addOperand(&type2);
-  auto param56 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type37);
+  auto param56 = model->addOperand(&type37);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type34);
+  auto param59 = model->addOperand(&type2);
+  auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type34);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static _Float16 param44_init[] = {0.30000001192092896f};
-  model->setOperandValue(param44, param44_init, sizeof(_Float16) * 1);
-  static _Float16 param45_init[] = {0.4000000059604645f};
-  model->setOperandValue(param45, param45_init, sizeof(_Float16) * 1);
-  static int32_t param46_init[] = {-1};
+  static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
+  static _Float16 param47_init[] = {0.30000001192092896f};
+  model->setOperandValue(param47, param47_init, sizeof(_Float16) * 1);
+  static int32_t param48_init[] = {-1};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static _Float16 param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(_Float16) * 1);
-  static _Float16 param50_init[] = {2.0f};
+  static int32_t param49_init[] = {0};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static _Float16 param50_init[] = {0.4000000059604645f};
   model->setOperandValue(param50, param50_init, sizeof(_Float16) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static _Float16 param51_init[] = {1.0f};
+  model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
+  static _Float16 param52_init[] = {0.30000001192092896f};
+  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static _Float16 param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(_Float16) * 1);
+  static _Float16 param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(_Float16) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param53_init[] = {1};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {1};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
-  static int32_t param55_init[] = {1};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {0};
-  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param43, param44, param45, param46}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param47, param48, param49, param50, param51, param52, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param53, param54, param55, param56, param57, param58, layout}, {out1});
+  static int32_t param59_init[] = {1};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
+  static int32_t param60_init[] = {1};
+  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
+  static int32_t param61_init[] = {1};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param46, param47, param48, param49, param50, param51, param52}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param53, param54, param55, param56, param57, param58, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param59, param60, param61, param62, param63, param64, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -3932,72 +4067,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param43 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type13);
-  auto param45 = model->addOperand(&type13);
-  auto param46 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type12);
+  auto param47 = model->addOperand(&type13);
+  auto param48 = model->addOperand(&type2);
+  auto param49 = model->addOperand(&type2);
+  auto param50 = model->addOperand(&type13);
+  auto param51 = model->addOperand(&type13);
+  auto param52 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type2);
-  auto param49 = model->addOperand(&type13);
-  auto param50 = model->addOperand(&type13);
-  auto param51 = model->addOperand(&type2);
-  auto param52 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type42);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
-  auto param55 = model->addOperand(&type2);
-  auto param56 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type13);
+  auto param56 = model->addOperand(&type13);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type42);
+  auto param59 = model->addOperand(&type2);
+  auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type42);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static float param44_init[] = {0.3f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static float param45_init[] = {0.4f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static int32_t param46_init[] = {-1};
+  static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
+  static float param47_init[] = {0.3f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static int32_t param48_init[] = {-1};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static float param50_init[] = {2.0f};
+  static int32_t param49_init[] = {0};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static float param50_init[] = {0.4f};
   model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {1.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {0.3f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param53_init[] = {1};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {1};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
-  static int32_t param55_init[] = {1};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {0};
-  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param43, param44, param45, param46}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param47, param48, param49, param50, param51, param52, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param53, param54, param55, param56, param57, param58, layout}, {out1});
+  static int32_t param59_init[] = {1};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
+  static int32_t param60_init[] = {1};
+  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
+  static int32_t param61_init[] = {1};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param46, param47, param48, param49, param50, param51, param52}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param53, param54, param55, param56, param57, param58, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param59, param60, param61, param62, param63, param64, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4025,72 +4169,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param43 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type13);
-  auto param45 = model->addOperand(&type13);
-  auto param46 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type12);
+  auto param47 = model->addOperand(&type13);
+  auto param48 = model->addOperand(&type2);
+  auto param49 = model->addOperand(&type2);
+  auto param50 = model->addOperand(&type13);
+  auto param51 = model->addOperand(&type13);
+  auto param52 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type2);
-  auto param49 = model->addOperand(&type13);
-  auto param50 = model->addOperand(&type13);
-  auto param51 = model->addOperand(&type2);
-  auto param52 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type42);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
-  auto param55 = model->addOperand(&type2);
-  auto param56 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type13);
+  auto param56 = model->addOperand(&type13);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type42);
+  auto param59 = model->addOperand(&type2);
+  auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type42);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static float param44_init[] = {0.3f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static float param45_init[] = {0.4f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static int32_t param46_init[] = {-1};
+  static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
+  static float param47_init[] = {0.3f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static int32_t param48_init[] = {-1};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static float param50_init[] = {2.0f};
+  static int32_t param49_init[] = {0};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static float param50_init[] = {0.4f};
   model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {1.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {0.3f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param53_init[] = {1};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {1};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
-  static int32_t param55_init[] = {1};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {0};
-  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param43, param44, param45, param46}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param47, param48, param49, param50, param51, param52, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param53, param54, param55, param56, param57, param58, layout}, {out1});
+  static int32_t param59_init[] = {1};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
+  static int32_t param60_init[] = {1};
+  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
+  static int32_t param61_init[] = {1};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param46, param47, param48, param49, param50, param51, param52}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param53, param54, param55, param56, param57, param58, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param59, param60, param61, param62, param63, param64, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4120,72 +4273,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type40);
   auto roi1 = model->addOperand(&type38);
-  auto param43 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type37);
-  auto param45 = model->addOperand(&type37);
-  auto param46 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type12);
+  auto param47 = model->addOperand(&type37);
+  auto param48 = model->addOperand(&type2);
+  auto param49 = model->addOperand(&type2);
+  auto param50 = model->addOperand(&type37);
+  auto param51 = model->addOperand(&type37);
+  auto param52 = model->addOperand(&type37);
   auto scoresOut1 = model->addOperand(&type41);
   auto roiOut1 = model->addOperand(&type39);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type35);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type2);
-  auto param49 = model->addOperand(&type37);
-  auto param50 = model->addOperand(&type37);
-  auto param51 = model->addOperand(&type2);
-  auto param52 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type43);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
-  auto param55 = model->addOperand(&type2);
-  auto param56 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type37);
+  auto param56 = model->addOperand(&type37);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type43);
+  auto param59 = model->addOperand(&type2);
+  auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type43);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static _Float16 param44_init[] = {0.30000001192092896f};
-  model->setOperandValue(param44, param44_init, sizeof(_Float16) * 1);
-  static _Float16 param45_init[] = {0.4000000059604645f};
-  model->setOperandValue(param45, param45_init, sizeof(_Float16) * 1);
-  static int32_t param46_init[] = {-1};
+  static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
+  static _Float16 param47_init[] = {0.30000001192092896f};
+  model->setOperandValue(param47, param47_init, sizeof(_Float16) * 1);
+  static int32_t param48_init[] = {-1};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static _Float16 param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(_Float16) * 1);
-  static _Float16 param50_init[] = {2.0f};
+  static int32_t param49_init[] = {0};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static _Float16 param50_init[] = {0.4000000059604645f};
   model->setOperandValue(param50, param50_init, sizeof(_Float16) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static _Float16 param51_init[] = {1.0f};
+  model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
+  static _Float16 param52_init[] = {0.30000001192092896f};
+  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static _Float16 param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(_Float16) * 1);
+  static _Float16 param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(_Float16) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param53_init[] = {1};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {1};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
-  static int32_t param55_init[] = {1};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {0};
-  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param43, param44, param45, param46}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param47, param48, param49, param50, param51, param52, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param53, param54, param55, param56, param57, param58, layout}, {out1});
+  static int32_t param59_init[] = {1};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
+  static int32_t param60_init[] = {1};
+  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
+  static int32_t param61_init[] = {1};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param46, param47, param48, param49, param50, param51, param52}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param53, param54, param55, param56, param57, param58, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param59, param60, param61, param62, param63, param64, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4214,72 +4376,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param43 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type13);
-  auto param45 = model->addOperand(&type13);
-  auto param46 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type12);
+  auto param47 = model->addOperand(&type13);
+  auto param48 = model->addOperand(&type2);
+  auto param49 = model->addOperand(&type2);
+  auto param50 = model->addOperand(&type13);
+  auto param51 = model->addOperand(&type13);
+  auto param52 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type2);
-  auto param49 = model->addOperand(&type13);
-  auto param50 = model->addOperand(&type13);
-  auto param51 = model->addOperand(&type2);
-  auto param52 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
-  auto param55 = model->addOperand(&type2);
-  auto param56 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type13);
+  auto param56 = model->addOperand(&type13);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type15);
+  auto param59 = model->addOperand(&type2);
+  auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type20);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static float param44_init[] = {0.3f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static float param45_init[] = {0.4f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static int32_t param46_init[] = {-1};
+  static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
+  static float param47_init[] = {0.3f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static int32_t param48_init[] = {-1};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static float param50_init[] = {2.0f};
+  static int32_t param49_init[] = {0};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static float param50_init[] = {0.4f};
   model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {1.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {0.3f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param53_init[] = {1};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {1};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
-  static int32_t param55_init[] = {1};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {0};
-  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param43, param44, param45, param46}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param47, param48, param49, param50, param51, param52, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param53, param54, param55, param56, param57, param58, layout}, {out1});
+  static int32_t param59_init[] = {1};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
+  static int32_t param60_init[] = {1};
+  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
+  static int32_t param61_init[] = {1};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param46, param47, param48, param49, param50, param51, param52}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param53, param54, param55, param56, param57, param58, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param59, param60, param61, param62, param63, param64, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4308,72 +4479,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param43 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type13);
-  auto param45 = model->addOperand(&type13);
-  auto param46 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type12);
+  auto param47 = model->addOperand(&type13);
+  auto param48 = model->addOperand(&type2);
+  auto param49 = model->addOperand(&type2);
+  auto param50 = model->addOperand(&type13);
+  auto param51 = model->addOperand(&type13);
+  auto param52 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type2);
-  auto param49 = model->addOperand(&type13);
-  auto param50 = model->addOperand(&type13);
-  auto param51 = model->addOperand(&type2);
-  auto param52 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type15);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
-  auto param55 = model->addOperand(&type2);
-  auto param56 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type13);
+  auto param56 = model->addOperand(&type13);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type15);
+  auto param59 = model->addOperand(&type2);
+  auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type20);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static float param44_init[] = {0.3f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static float param45_init[] = {0.4f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static int32_t param46_init[] = {-1};
+  static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
+  static float param47_init[] = {0.3f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static int32_t param48_init[] = {-1};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static float param50_init[] = {2.0f};
+  static int32_t param49_init[] = {0};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static float param50_init[] = {0.4f};
   model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {1.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {0.3f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param53_init[] = {1};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {1};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
-  static int32_t param55_init[] = {1};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {0};
-  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param43, param44, param45, param46}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param47, param48, param49, param50, param51, param52, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param53, param54, param55, param56, param57, param58, layout}, {out1});
+  static int32_t param59_init[] = {1};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
+  static int32_t param60_init[] = {1};
+  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
+  static int32_t param61_init[] = {1};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param46, param47, param48, param49, param50, param51, param52}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param53, param54, param55, param56, param57, param58, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param59, param60, param61, param62, param63, param64, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4404,72 +4584,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type40);
   auto roi1 = model->addOperand(&type38);
-  auto param43 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type37);
-  auto param45 = model->addOperand(&type37);
-  auto param46 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type12);
+  auto param47 = model->addOperand(&type37);
+  auto param48 = model->addOperand(&type2);
+  auto param49 = model->addOperand(&type2);
+  auto param50 = model->addOperand(&type37);
+  auto param51 = model->addOperand(&type37);
+  auto param52 = model->addOperand(&type37);
   auto scoresOut1 = model->addOperand(&type44);
   auto roiOut1 = model->addOperand(&type39);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type35);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type2);
-  auto param49 = model->addOperand(&type37);
-  auto param50 = model->addOperand(&type37);
-  auto param51 = model->addOperand(&type2);
-  auto param52 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type34);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
-  auto param55 = model->addOperand(&type2);
-  auto param56 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type37);
+  auto param56 = model->addOperand(&type37);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type34);
+  auto param59 = model->addOperand(&type2);
+  auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type21);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static _Float16 param44_init[] = {0.30000001192092896f};
-  model->setOperandValue(param44, param44_init, sizeof(_Float16) * 1);
-  static _Float16 param45_init[] = {0.4000000059604645f};
-  model->setOperandValue(param45, param45_init, sizeof(_Float16) * 1);
-  static int32_t param46_init[] = {-1};
+  static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
+  static _Float16 param47_init[] = {0.30000001192092896f};
+  model->setOperandValue(param47, param47_init, sizeof(_Float16) * 1);
+  static int32_t param48_init[] = {-1};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static _Float16 param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(_Float16) * 1);
-  static _Float16 param50_init[] = {2.0f};
+  static int32_t param49_init[] = {0};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static _Float16 param50_init[] = {0.4000000059604645f};
   model->setOperandValue(param50, param50_init, sizeof(_Float16) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static _Float16 param51_init[] = {1.0f};
+  model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
+  static _Float16 param52_init[] = {0.30000001192092896f};
+  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static _Float16 param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(_Float16) * 1);
+  static _Float16 param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(_Float16) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param53_init[] = {1};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {1};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
-  static int32_t param55_init[] = {1};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {0};
-  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param43, param44, param45, param46}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param47, param48, param49, param50, param51, param52, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param53, param54, param55, param56, param57, param58, layout}, {out1});
+  static int32_t param59_init[] = {1};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
+  static int32_t param60_init[] = {1};
+  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
+  static int32_t param61_init[] = {1};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param46, param47, param48, param49, param50, param51, param52}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param53, param54, param55, param56, param57, param58, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param59, param60, param61, param62, param63, param64, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4498,72 +4687,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param43 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type13);
-  auto param45 = model->addOperand(&type13);
-  auto param46 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type12);
+  auto param47 = model->addOperand(&type13);
+  auto param48 = model->addOperand(&type2);
+  auto param49 = model->addOperand(&type2);
+  auto param50 = model->addOperand(&type13);
+  auto param51 = model->addOperand(&type13);
+  auto param52 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type2);
-  auto param49 = model->addOperand(&type13);
-  auto param50 = model->addOperand(&type13);
-  auto param51 = model->addOperand(&type2);
-  auto param52 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type42);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
-  auto param55 = model->addOperand(&type2);
-  auto param56 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type13);
+  auto param56 = model->addOperand(&type13);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type42);
+  auto param59 = model->addOperand(&type2);
+  auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type20);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static float param44_init[] = {0.3f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static float param45_init[] = {0.4f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static int32_t param46_init[] = {-1};
+  static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
+  static float param47_init[] = {0.3f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static int32_t param48_init[] = {-1};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static float param50_init[] = {2.0f};
+  static int32_t param49_init[] = {0};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static float param50_init[] = {0.4f};
   model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {1.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {0.3f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param53_init[] = {1};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {1};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
-  static int32_t param55_init[] = {1};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {0};
-  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param43, param44, param45, param46}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param47, param48, param49, param50, param51, param52, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param53, param54, param55, param56, param57, param58, layout}, {out1});
+  static int32_t param59_init[] = {1};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
+  static int32_t param60_init[] = {1};
+  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
+  static int32_t param61_init[] = {1};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param46, param47, param48, param49, param50, param51, param52}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param53, param54, param55, param56, param57, param58, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param59, param60, param61, param62, param63, param64, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4592,72 +4790,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param43 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type13);
-  auto param45 = model->addOperand(&type13);
-  auto param46 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type12);
+  auto param47 = model->addOperand(&type13);
+  auto param48 = model->addOperand(&type2);
+  auto param49 = model->addOperand(&type2);
+  auto param50 = model->addOperand(&type13);
+  auto param51 = model->addOperand(&type13);
+  auto param52 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type2);
-  auto param49 = model->addOperand(&type13);
-  auto param50 = model->addOperand(&type13);
-  auto param51 = model->addOperand(&type2);
-  auto param52 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type42);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
-  auto param55 = model->addOperand(&type2);
-  auto param56 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type13);
+  auto param56 = model->addOperand(&type13);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type42);
+  auto param59 = model->addOperand(&type2);
+  auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type20);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static float param44_init[] = {0.3f};
-  model->setOperandValue(param44, param44_init, sizeof(float) * 1);
-  static float param45_init[] = {0.4f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static int32_t param46_init[] = {-1};
+  static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
+  static float param47_init[] = {0.3f};
+  model->setOperandValue(param47, param47_init, sizeof(float) * 1);
+  static int32_t param48_init[] = {-1};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static float param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(float) * 1);
-  static float param50_init[] = {2.0f};
+  static int32_t param49_init[] = {0};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static float param50_init[] = {0.4f};
   model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {1.0f};
+  model->setOperandValue(param51, param51_init, sizeof(float) * 1);
+  static float param52_init[] = {0.3f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static float param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param53_init[] = {1};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {1};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
-  static int32_t param55_init[] = {1};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {0};
-  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param43, param44, param45, param46}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param47, param48, param49, param50, param51, param52, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param53, param54, param55, param56, param57, param58, layout}, {out1});
+  static int32_t param59_init[] = {1};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
+  static int32_t param60_init[] = {1};
+  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
+  static int32_t param61_init[] = {1};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param46, param47, param48, param49, param50, param51, param52}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param53, param54, param55, param56, param57, param58, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param59, param60, param61, param62, param63, param64, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4688,72 +4895,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type40);
   auto roi1 = model->addOperand(&type38);
-  auto param43 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type37);
-  auto param45 = model->addOperand(&type37);
-  auto param46 = model->addOperand(&type2);
+  auto param46 = model->addOperand(&type12);
+  auto param47 = model->addOperand(&type37);
+  auto param48 = model->addOperand(&type2);
+  auto param49 = model->addOperand(&type2);
+  auto param50 = model->addOperand(&type37);
+  auto param51 = model->addOperand(&type37);
+  auto param52 = model->addOperand(&type37);
   auto scoresOut1 = model->addOperand(&type44);
   auto roiOut1 = model->addOperand(&type39);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type35);
-  auto param47 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type2);
-  auto param49 = model->addOperand(&type37);
-  auto param50 = model->addOperand(&type37);
-  auto param51 = model->addOperand(&type2);
-  auto param52 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type43);
   auto param53 = model->addOperand(&type2);
   auto param54 = model->addOperand(&type2);
-  auto param55 = model->addOperand(&type2);
-  auto param56 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type37);
+  auto param56 = model->addOperand(&type37);
   auto param57 = model->addOperand(&type2);
   auto param58 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type43);
+  auto param59 = model->addOperand(&type2);
+  auto param60 = model->addOperand(&type2);
+  auto param61 = model->addOperand(&type2);
+  auto param62 = model->addOperand(&type2);
+  auto param63 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type21);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static _Float16 param44_init[] = {0.30000001192092896f};
-  model->setOperandValue(param44, param44_init, sizeof(_Float16) * 1);
-  static _Float16 param45_init[] = {0.4000000059604645f};
-  model->setOperandValue(param45, param45_init, sizeof(_Float16) * 1);
-  static int32_t param46_init[] = {-1};
+  static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {2};
-  model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
+  static _Float16 param47_init[] = {0.30000001192092896f};
+  model->setOperandValue(param47, param47_init, sizeof(_Float16) * 1);
+  static int32_t param48_init[] = {-1};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static _Float16 param49_init[] = {2.0f};
-  model->setOperandValue(param49, param49_init, sizeof(_Float16) * 1);
-  static _Float16 param50_init[] = {2.0f};
+  static int32_t param49_init[] = {0};
+  model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
+  static _Float16 param50_init[] = {0.4000000059604645f};
   model->setOperandValue(param50, param50_init, sizeof(_Float16) * 1);
-  static int32_t param51_init[] = {4};
-  model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static _Float16 param51_init[] = {1.0f};
+  model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
+  static _Float16 param52_init[] = {0.30000001192092896f};
+  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static _Float16 param55_init[] = {2.0f};
+  model->setOperandValue(param55, param55_init, sizeof(_Float16) * 1);
+  static _Float16 param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(_Float16) * 1);
+  static int32_t param57_init[] = {4};
+  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param53_init[] = {1};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
-  static int32_t param54_init[] = {1};
-  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
-  static int32_t param55_init[] = {1};
-  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
-  model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static int32_t param58_init[] = {0};
-  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param43, param44, param45, param46}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param47, param48, param49, param50, param51, param52, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param53, param54, param55, param56, param57, param58, layout}, {out1});
+  static int32_t param59_init[] = {1};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
+  static int32_t param60_init[] = {1};
+  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
+  static int32_t param61_init[] = {1};
+  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static int32_t param64_init[] = {0};
+  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param46, param47, param48, param49, param50, param51, param52}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param53, param54, param55, param56, param57, param58, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_L2_POOL_2D, {featureMap1, param59, param60, param61, param62, param63, param64, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
diff --git a/runtime/test/generated/models/logistic_v1_2.model.cpp b/runtime/test/generated/models/logistic_v1_2.model.cpp
index fc7bb86..3c51878 100644
--- a/runtime/test/generated/models/logistic_v1_2.model.cpp
+++ b/runtime/test/generated/models/logistic_v1_2.model.cpp
@@ -95,19 +95,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type12);
@@ -120,26 +123,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_LOGISTIC, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -170,19 +179,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type12);
@@ -195,26 +207,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_LOGISTIC, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -248,19 +266,22 @@
   auto roi = model->addOperand(&type17);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type20);
   auto roiOut = model->addOperand(&type18);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type15);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type14);
   auto out = model->addOperand(&type16);
@@ -273,26 +294,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_LOGISTIC, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -323,19 +350,22 @@
   auto roi = model->addOperand(&type24);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type23);
-  auto param2 = model->addOperand(&type23);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type23);
+  auto param5 = model->addOperand(&type23);
+  auto param6 = model->addOperand(&type23);
   auto scoresOut = model->addOperand(&type27);
   auto roiOut = model->addOperand(&type25);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type22);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type23);
-  auto param7 = model->addOperand(&type23);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type23);
+  auto param10 = model->addOperand(&type23);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type21);
   auto out = model->addOperand(&type21);
@@ -348,26 +378,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_LOGISTIC, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -399,19 +435,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type28);
@@ -424,26 +463,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_LOGISTIC, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -475,19 +520,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type28);
@@ -500,26 +548,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_LOGISTIC, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -553,19 +607,22 @@
   auto roi = model->addOperand(&type17);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type20);
   auto roiOut = model->addOperand(&type18);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type15);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type14);
   auto out = model->addOperand(&type29);
@@ -578,26 +635,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_LOGISTIC, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -629,19 +692,22 @@
   auto roi = model->addOperand(&type24);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type23);
-  auto param2 = model->addOperand(&type23);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type23);
+  auto param5 = model->addOperand(&type23);
+  auto param6 = model->addOperand(&type23);
   auto scoresOut = model->addOperand(&type30);
   auto roiOut = model->addOperand(&type25);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type22);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type23);
-  auto param7 = model->addOperand(&type23);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type23);
+  auto param10 = model->addOperand(&type23);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type21);
   auto out = model->addOperand(&type13);
@@ -654,26 +720,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_LOGISTIC, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
diff --git a/runtime/test/generated/models/max_pool_v1_2.model.cpp b/runtime/test/generated/models/max_pool_v1_2.model.cpp
index cebd88f..bdc1dba 100644
--- a/runtime/test/generated/models/max_pool_v1_2.model.cpp
+++ b/runtime/test/generated/models/max_pool_v1_2.model.cpp
@@ -3226,30 +3226,33 @@
   auto roi = model->addOperand(&type8);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type13);
-  auto param35 = model->addOperand(&type13);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type13);
+  auto param38 = model->addOperand(&type13);
+  auto param39 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type13);
-  auto param40 = model->addOperand(&type13);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type15);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type13);
+  auto param43 = model->addOperand(&type13);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type15);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type16);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -3260,45 +3263,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {0.4f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static float param39_init[] = {2.0f};
+  static float param37_init[] = {0.4f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static float param39_init[] = {0.3f};
   model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static float param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static float param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(float) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3329,30 +3338,33 @@
   auto roi = model->addOperand(&type8);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type13);
-  auto param35 = model->addOperand(&type13);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type13);
+  auto param38 = model->addOperand(&type13);
+  auto param39 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type13);
-  auto param40 = model->addOperand(&type13);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type15);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type13);
+  auto param43 = model->addOperand(&type13);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type15);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type16);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -3363,45 +3375,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {0.4f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static float param39_init[] = {2.0f};
+  static float param37_init[] = {0.4f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static float param39_init[] = {0.3f};
   model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static float param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static float param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(float) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3434,30 +3452,33 @@
   auto roi = model->addOperand(&type53);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type13);
-  auto param35 = model->addOperand(&type13);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type13);
+  auto param38 = model->addOperand(&type13);
+  auto param39 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type56);
   auto roiOut = model->addOperand(&type54);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type51);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type13);
-  auto param40 = model->addOperand(&type13);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type50);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type13);
+  auto param43 = model->addOperand(&type13);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type50);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type52);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -3468,45 +3489,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {0.4f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static float param39_init[] = {2.0f};
+  static float param37_init[] = {0.4f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static float param39_init[] = {0.3f};
   model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static float param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static float param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(float) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3537,30 +3564,33 @@
   auto roi = model->addOperand(&type61);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type60);
-  auto param35 = model->addOperand(&type60);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type60);
+  auto param38 = model->addOperand(&type60);
+  auto param39 = model->addOperand(&type60);
   auto scoresOut = model->addOperand(&type64);
   auto roiOut = model->addOperand(&type62);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type58);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type60);
-  auto param40 = model->addOperand(&type60);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type57);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type60);
+  auto param43 = model->addOperand(&type60);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type57);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type59);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -3571,45 +3601,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static _Float16 param34_init[] = {0.30000001192092896f};
   model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static _Float16 param35_init[] = {0.4000000059604645f};
-  model->setOperandValue(param35, param35_init, sizeof(_Float16) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static _Float16 param39_init[] = {2.0f};
+  static _Float16 param37_init[] = {0.4000000059604645f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static _Float16 param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(_Float16) * 1);
+  static _Float16 param39_init[] = {0.30000001192092896f};
   model->setOperandValue(param39, param39_init, sizeof(_Float16) * 1);
-  static _Float16 param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(_Float16) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static _Float16 param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(_Float16) * 1);
+  static _Float16 param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(_Float16) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3640,30 +3676,33 @@
   auto roi = model->addOperand(&type8);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type13);
-  auto param35 = model->addOperand(&type13);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type13);
+  auto param38 = model->addOperand(&type13);
+  auto param39 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type13);
-  auto param40 = model->addOperand(&type13);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type65);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type13);
+  auto param43 = model->addOperand(&type13);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type65);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type16);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -3674,45 +3713,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {0.4f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static float param39_init[] = {2.0f};
+  static float param37_init[] = {0.4f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static float param39_init[] = {0.3f};
   model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static float param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static float param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(float) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3743,30 +3788,33 @@
   auto roi = model->addOperand(&type8);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type13);
-  auto param35 = model->addOperand(&type13);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type13);
+  auto param38 = model->addOperand(&type13);
+  auto param39 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type13);
-  auto param40 = model->addOperand(&type13);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type65);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type13);
+  auto param43 = model->addOperand(&type13);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type65);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type16);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -3777,45 +3825,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {0.4f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static float param39_init[] = {2.0f};
+  static float param37_init[] = {0.4f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static float param39_init[] = {0.3f};
   model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static float param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static float param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(float) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3848,30 +3902,33 @@
   auto roi = model->addOperand(&type53);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type13);
-  auto param35 = model->addOperand(&type13);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type13);
+  auto param38 = model->addOperand(&type13);
+  auto param39 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type56);
   auto roiOut = model->addOperand(&type54);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type51);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type13);
-  auto param40 = model->addOperand(&type13);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type66);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type13);
+  auto param43 = model->addOperand(&type13);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type66);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type52);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -3882,45 +3939,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {0.4f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static float param39_init[] = {2.0f};
+  static float param37_init[] = {0.4f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static float param39_init[] = {0.3f};
   model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static float param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static float param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(float) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3951,30 +4014,33 @@
   auto roi = model->addOperand(&type61);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type60);
-  auto param35 = model->addOperand(&type60);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type60);
+  auto param38 = model->addOperand(&type60);
+  auto param39 = model->addOperand(&type60);
   auto scoresOut = model->addOperand(&type64);
   auto roiOut = model->addOperand(&type62);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type58);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type60);
-  auto param40 = model->addOperand(&type60);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type67);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type60);
+  auto param43 = model->addOperand(&type60);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type67);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type59);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -3985,45 +4051,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static _Float16 param34_init[] = {0.30000001192092896f};
   model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static _Float16 param35_init[] = {0.4000000059604645f};
-  model->setOperandValue(param35, param35_init, sizeof(_Float16) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static _Float16 param39_init[] = {2.0f};
+  static _Float16 param37_init[] = {0.4000000059604645f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static _Float16 param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(_Float16) * 1);
+  static _Float16 param39_init[] = {0.30000001192092896f};
   model->setOperandValue(param39, param39_init, sizeof(_Float16) * 1);
-  static _Float16 param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(_Float16) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static _Float16 param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(_Float16) * 1);
+  static _Float16 param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(_Float16) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4054,30 +4126,33 @@
   auto roi = model->addOperand(&type8);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type13);
-  auto param35 = model->addOperand(&type13);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type13);
+  auto param38 = model->addOperand(&type13);
+  auto param39 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type13);
-  auto param40 = model->addOperand(&type13);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type15);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type13);
+  auto param43 = model->addOperand(&type13);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type15);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type22);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -4088,45 +4163,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {0.4f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static float param39_init[] = {2.0f};
+  static float param37_init[] = {0.4f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static float param39_init[] = {0.3f};
   model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static float param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static float param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(float) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4157,30 +4238,33 @@
   auto roi = model->addOperand(&type8);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type13);
-  auto param35 = model->addOperand(&type13);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type13);
+  auto param38 = model->addOperand(&type13);
+  auto param39 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type13);
-  auto param40 = model->addOperand(&type13);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type15);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type13);
+  auto param43 = model->addOperand(&type13);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type15);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type22);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -4191,45 +4275,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {0.4f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static float param39_init[] = {2.0f};
+  static float param37_init[] = {0.4f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static float param39_init[] = {0.3f};
   model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static float param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static float param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(float) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4262,30 +4352,33 @@
   auto roi = model->addOperand(&type53);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type13);
-  auto param35 = model->addOperand(&type13);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type13);
+  auto param38 = model->addOperand(&type13);
+  auto param39 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type56);
   auto roiOut = model->addOperand(&type54);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type51);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type13);
-  auto param40 = model->addOperand(&type13);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type50);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type13);
+  auto param43 = model->addOperand(&type13);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type50);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type68);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -4296,45 +4389,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {0.4f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static float param39_init[] = {2.0f};
+  static float param37_init[] = {0.4f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static float param39_init[] = {0.3f};
   model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static float param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static float param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(float) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4365,30 +4464,33 @@
   auto roi = model->addOperand(&type61);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type60);
-  auto param35 = model->addOperand(&type60);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type60);
+  auto param38 = model->addOperand(&type60);
+  auto param39 = model->addOperand(&type60);
   auto scoresOut = model->addOperand(&type69);
   auto roiOut = model->addOperand(&type62);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type58);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type60);
-  auto param40 = model->addOperand(&type60);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type57);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type60);
+  auto param43 = model->addOperand(&type60);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type57);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type24);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -4399,45 +4501,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static _Float16 param34_init[] = {0.30000001192092896f};
   model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static _Float16 param35_init[] = {0.4000000059604645f};
-  model->setOperandValue(param35, param35_init, sizeof(_Float16) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static _Float16 param39_init[] = {2.0f};
+  static _Float16 param37_init[] = {0.4000000059604645f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static _Float16 param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(_Float16) * 1);
+  static _Float16 param39_init[] = {0.30000001192092896f};
   model->setOperandValue(param39, param39_init, sizeof(_Float16) * 1);
-  static _Float16 param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(_Float16) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static _Float16 param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(_Float16) * 1);
+  static _Float16 param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(_Float16) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4468,30 +4576,33 @@
   auto roi = model->addOperand(&type8);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type13);
-  auto param35 = model->addOperand(&type13);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type13);
+  auto param38 = model->addOperand(&type13);
+  auto param39 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type13);
-  auto param40 = model->addOperand(&type13);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type65);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type13);
+  auto param43 = model->addOperand(&type13);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type65);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type22);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -4502,45 +4613,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {0.4f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static float param39_init[] = {2.0f};
+  static float param37_init[] = {0.4f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static float param39_init[] = {0.3f};
   model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static float param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static float param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(float) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4571,30 +4688,33 @@
   auto roi = model->addOperand(&type8);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type13);
-  auto param35 = model->addOperand(&type13);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type13);
+  auto param38 = model->addOperand(&type13);
+  auto param39 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type14);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type13);
-  auto param40 = model->addOperand(&type13);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type65);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type13);
+  auto param43 = model->addOperand(&type13);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type65);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type22);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -4605,45 +4725,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {0.4f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static float param39_init[] = {2.0f};
+  static float param37_init[] = {0.4f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static float param39_init[] = {0.3f};
   model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static float param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static float param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(float) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4676,30 +4802,33 @@
   auto roi = model->addOperand(&type53);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type13);
-  auto param35 = model->addOperand(&type13);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type13);
+  auto param38 = model->addOperand(&type13);
+  auto param39 = model->addOperand(&type13);
   auto scoresOut = model->addOperand(&type56);
   auto roiOut = model->addOperand(&type54);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type51);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type13);
-  auto param40 = model->addOperand(&type13);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type66);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type13);
+  auto param43 = model->addOperand(&type13);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type66);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type68);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -4710,45 +4839,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {0.4f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static float param39_init[] = {2.0f};
+  static float param37_init[] = {0.4f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static float param39_init[] = {0.3f};
   model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static float param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static float param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(float) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4779,30 +4914,33 @@
   auto roi = model->addOperand(&type61);
   auto param33 = model->addOperand(&type12);
   auto param34 = model->addOperand(&type60);
-  auto param35 = model->addOperand(&type60);
+  auto param35 = model->addOperand(&type2);
   auto param36 = model->addOperand(&type2);
+  auto param37 = model->addOperand(&type60);
+  auto param38 = model->addOperand(&type60);
+  auto param39 = model->addOperand(&type60);
   auto scoresOut = model->addOperand(&type69);
   auto roiOut = model->addOperand(&type62);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type58);
-  auto param37 = model->addOperand(&type2);
-  auto param38 = model->addOperand(&type2);
-  auto param39 = model->addOperand(&type60);
-  auto param40 = model->addOperand(&type60);
+  auto param40 = model->addOperand(&type2);
   auto param41 = model->addOperand(&type2);
-  auto param42 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap = model->addOperand(&type67);
-  auto param43 = model->addOperand(&type2);
+  auto param42 = model->addOperand(&type60);
+  auto param43 = model->addOperand(&type60);
   auto param44 = model->addOperand(&type2);
   auto param45 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap = model->addOperand(&type67);
   auto param46 = model->addOperand(&type2);
   auto param47 = model->addOperand(&type2);
   auto param48 = model->addOperand(&type2);
   auto param49 = model->addOperand(&type2);
   auto param50 = model->addOperand(&type2);
   auto param51 = model->addOperand(&type2);
+  auto param52 = model->addOperand(&type2);
+  auto param53 = model->addOperand(&type2);
+  auto param54 = model->addOperand(&type2);
   auto out = model->addOperand(&type24);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -4813,45 +4951,51 @@
   model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
   static _Float16 param34_init[] = {0.30000001192092896f};
   model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static _Float16 param35_init[] = {0.4000000059604645f};
-  model->setOperandValue(param35, param35_init, sizeof(_Float16) * 1);
-  static int32_t param36_init[] = {-1};
+  static int32_t param35_init[] = {-1};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {0};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static int32_t param38_init[] = {2};
-  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
-  static _Float16 param39_init[] = {2.0f};
+  static _Float16 param37_init[] = {0.4000000059604645f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static _Float16 param38_init[] = {1.0f};
+  model->setOperandValue(param38, param38_init, sizeof(_Float16) * 1);
+  static _Float16 param39_init[] = {0.30000001192092896f};
   model->setOperandValue(param39, param39_init, sizeof(_Float16) * 1);
-  static _Float16 param40_init[] = {2.0f};
-  model->setOperandValue(param40, param40_init, sizeof(_Float16) * 1);
-  static int32_t param41_init[] = {4};
+  static int32_t param40_init[] = {2};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
+  static int32_t param41_init[] = {2};
   model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
-  static int32_t param42_init[] = {4};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
+  static _Float16 param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(_Float16) * 1);
+  static _Float16 param43_init[] = {2.0f};
+  model->setOperandValue(param43, param43_init, sizeof(_Float16) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
+  static int32_t param45_init[] = {4};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param43_init[] = {0};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static int32_t param45_init[] = {0};
-  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
   static int32_t param46_init[] = {0};
   model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
-  static int32_t param47_init[] = {1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {1};
+  static int32_t param48_init[] = {0};
   model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static int32_t param49_init[] = {0};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static int32_t param50_init[] = {2};
+  static int32_t param50_init[] = {1};
   model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
-  static int32_t param51_init[] = {0};
+  static int32_t param51_init[] = {1};
   model->setOperandValue(param51, param51_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param37, param38, param39, param40, param41, param42, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param43, param44, param45, param46, param47, param48, param49, param50, param51, layout}, {out});
+  static int32_t param52_init[] = {2};
+  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
+  static int32_t param53_init[] = {2};
+  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static int32_t param54_init[] = {0};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param33, param34, param35, param36, param37, param38, param39}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param40, param41, param42, param43, param44, param45, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap, param46, param47, param48, param49, param50, param51, param52, param53, param54, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -4879,72 +5023,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type13);
-  auto param54 = model->addOperand(&type13);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type13);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type13);
+  auto param60 = model->addOperand(&type13);
+  auto param61 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type13);
-  auto param59 = model->addOperand(&type13);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type15);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type13);
+  auto param65 = model->addOperand(&type13);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type15);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type15);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static float param53_init[] = {0.3f};
-  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
-  static float param54_init[] = {0.4f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static float param56_init[] = {0.3f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static float param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(float) * 1);
-  static float param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static float param59_init[] = {0.4f};
   model->setOperandValue(param59, param59_init, sizeof(float) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static float param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {0.3f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static float param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
+  static float param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4972,72 +5125,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type13);
-  auto param54 = model->addOperand(&type13);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type13);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type13);
+  auto param60 = model->addOperand(&type13);
+  auto param61 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type13);
-  auto param59 = model->addOperand(&type13);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type15);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type13);
+  auto param65 = model->addOperand(&type13);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type15);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type15);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static float param53_init[] = {0.3f};
-  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
-  static float param54_init[] = {0.4f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static float param56_init[] = {0.3f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static float param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(float) * 1);
-  static float param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static float param59_init[] = {0.4f};
   model->setOperandValue(param59, param59_init, sizeof(float) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static float param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {0.3f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static float param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
+  static float param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -5067,72 +5229,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type55);
   auto roi1 = model->addOperand(&type53);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type13);
-  auto param54 = model->addOperand(&type13);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type13);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type13);
+  auto param60 = model->addOperand(&type13);
+  auto param61 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type56);
   auto roiOut1 = model->addOperand(&type54);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type51);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type13);
-  auto param59 = model->addOperand(&type13);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type50);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type13);
+  auto param65 = model->addOperand(&type13);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type50);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type50);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static float param53_init[] = {0.3f};
-  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
-  static float param54_init[] = {0.4f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static float param56_init[] = {0.3f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static float param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(float) * 1);
-  static float param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static float param59_init[] = {0.4f};
   model->setOperandValue(param59, param59_init, sizeof(float) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static float param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {0.3f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static float param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
+  static float param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -5160,72 +5331,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type63);
   auto roi1 = model->addOperand(&type61);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type60);
-  auto param54 = model->addOperand(&type60);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type60);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type60);
+  auto param60 = model->addOperand(&type60);
+  auto param61 = model->addOperand(&type60);
   auto scoresOut1 = model->addOperand(&type64);
   auto roiOut1 = model->addOperand(&type62);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type58);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type60);
-  auto param59 = model->addOperand(&type60);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type57);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type60);
+  auto param65 = model->addOperand(&type60);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type57);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type57);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static _Float16 param53_init[] = {0.30000001192092896f};
-  model->setOperandValue(param53, param53_init, sizeof(_Float16) * 1);
-  static _Float16 param54_init[] = {0.4000000059604645f};
-  model->setOperandValue(param54, param54_init, sizeof(_Float16) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static _Float16 param56_init[] = {0.30000001192092896f};
+  model->setOperandValue(param56, param56_init, sizeof(_Float16) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static _Float16 param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(_Float16) * 1);
-  static _Float16 param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static _Float16 param59_init[] = {0.4000000059604645f};
   model->setOperandValue(param59, param59_init, sizeof(_Float16) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static _Float16 param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(_Float16) * 1);
+  static _Float16 param61_init[] = {0.30000001192092896f};
+  model->setOperandValue(param61, param61_init, sizeof(_Float16) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static _Float16 param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(_Float16) * 1);
+  static _Float16 param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(_Float16) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -5253,72 +5433,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type13);
-  auto param54 = model->addOperand(&type13);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type13);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type13);
+  auto param60 = model->addOperand(&type13);
+  auto param61 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type13);
-  auto param59 = model->addOperand(&type13);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type65);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type13);
+  auto param65 = model->addOperand(&type13);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type65);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type65);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static float param53_init[] = {0.3f};
-  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
-  static float param54_init[] = {0.4f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static float param56_init[] = {0.3f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static float param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(float) * 1);
-  static float param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static float param59_init[] = {0.4f};
   model->setOperandValue(param59, param59_init, sizeof(float) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static float param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {0.3f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static float param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
+  static float param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -5346,72 +5535,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type13);
-  auto param54 = model->addOperand(&type13);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type13);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type13);
+  auto param60 = model->addOperand(&type13);
+  auto param61 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type13);
-  auto param59 = model->addOperand(&type13);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type65);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type13);
+  auto param65 = model->addOperand(&type13);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type65);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type65);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static float param53_init[] = {0.3f};
-  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
-  static float param54_init[] = {0.4f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static float param56_init[] = {0.3f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static float param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(float) * 1);
-  static float param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static float param59_init[] = {0.4f};
   model->setOperandValue(param59, param59_init, sizeof(float) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static float param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {0.3f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static float param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
+  static float param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -5441,72 +5639,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type55);
   auto roi1 = model->addOperand(&type53);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type13);
-  auto param54 = model->addOperand(&type13);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type13);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type13);
+  auto param60 = model->addOperand(&type13);
+  auto param61 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type56);
   auto roiOut1 = model->addOperand(&type54);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type51);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type13);
-  auto param59 = model->addOperand(&type13);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type66);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type13);
+  auto param65 = model->addOperand(&type13);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type66);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type66);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static float param53_init[] = {0.3f};
-  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
-  static float param54_init[] = {0.4f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static float param56_init[] = {0.3f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static float param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(float) * 1);
-  static float param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static float param59_init[] = {0.4f};
   model->setOperandValue(param59, param59_init, sizeof(float) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static float param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {0.3f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static float param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
+  static float param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -5534,72 +5741,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type63);
   auto roi1 = model->addOperand(&type61);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type60);
-  auto param54 = model->addOperand(&type60);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type60);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type60);
+  auto param60 = model->addOperand(&type60);
+  auto param61 = model->addOperand(&type60);
   auto scoresOut1 = model->addOperand(&type64);
   auto roiOut1 = model->addOperand(&type62);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type58);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type60);
-  auto param59 = model->addOperand(&type60);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type67);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type60);
+  auto param65 = model->addOperand(&type60);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type67);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type67);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static _Float16 param53_init[] = {0.30000001192092896f};
-  model->setOperandValue(param53, param53_init, sizeof(_Float16) * 1);
-  static _Float16 param54_init[] = {0.4000000059604645f};
-  model->setOperandValue(param54, param54_init, sizeof(_Float16) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static _Float16 param56_init[] = {0.30000001192092896f};
+  model->setOperandValue(param56, param56_init, sizeof(_Float16) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static _Float16 param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(_Float16) * 1);
-  static _Float16 param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static _Float16 param59_init[] = {0.4000000059604645f};
   model->setOperandValue(param59, param59_init, sizeof(_Float16) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static _Float16 param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(_Float16) * 1);
+  static _Float16 param61_init[] = {0.30000001192092896f};
+  model->setOperandValue(param61, param61_init, sizeof(_Float16) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static _Float16 param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(_Float16) * 1);
+  static _Float16 param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(_Float16) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -5628,72 +5844,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type13);
-  auto param54 = model->addOperand(&type13);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type13);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type13);
+  auto param60 = model->addOperand(&type13);
+  auto param61 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type13);
-  auto param59 = model->addOperand(&type13);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type15);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type13);
+  auto param65 = model->addOperand(&type13);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type15);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type22);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static float param53_init[] = {0.3f};
-  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
-  static float param54_init[] = {0.4f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static float param56_init[] = {0.3f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static float param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(float) * 1);
-  static float param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static float param59_init[] = {0.4f};
   model->setOperandValue(param59, param59_init, sizeof(float) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static float param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {0.3f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static float param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
+  static float param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -5722,72 +5947,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type13);
-  auto param54 = model->addOperand(&type13);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type13);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type13);
+  auto param60 = model->addOperand(&type13);
+  auto param61 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type13);
-  auto param59 = model->addOperand(&type13);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type15);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type13);
+  auto param65 = model->addOperand(&type13);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type15);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type22);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static float param53_init[] = {0.3f};
-  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
-  static float param54_init[] = {0.4f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static float param56_init[] = {0.3f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static float param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(float) * 1);
-  static float param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static float param59_init[] = {0.4f};
   model->setOperandValue(param59, param59_init, sizeof(float) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static float param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {0.3f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static float param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
+  static float param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -5818,72 +6052,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type55);
   auto roi1 = model->addOperand(&type53);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type13);
-  auto param54 = model->addOperand(&type13);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type13);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type13);
+  auto param60 = model->addOperand(&type13);
+  auto param61 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type56);
   auto roiOut1 = model->addOperand(&type54);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type51);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type13);
-  auto param59 = model->addOperand(&type13);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type50);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type13);
+  auto param65 = model->addOperand(&type13);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type50);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type68);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static float param53_init[] = {0.3f};
-  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
-  static float param54_init[] = {0.4f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static float param56_init[] = {0.3f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static float param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(float) * 1);
-  static float param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static float param59_init[] = {0.4f};
   model->setOperandValue(param59, param59_init, sizeof(float) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static float param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {0.3f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static float param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
+  static float param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -5912,72 +6155,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type63);
   auto roi1 = model->addOperand(&type61);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type60);
-  auto param54 = model->addOperand(&type60);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type60);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type60);
+  auto param60 = model->addOperand(&type60);
+  auto param61 = model->addOperand(&type60);
   auto scoresOut1 = model->addOperand(&type69);
   auto roiOut1 = model->addOperand(&type62);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type58);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type60);
-  auto param59 = model->addOperand(&type60);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type57);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type60);
+  auto param65 = model->addOperand(&type60);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type57);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type24);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static _Float16 param53_init[] = {0.30000001192092896f};
-  model->setOperandValue(param53, param53_init, sizeof(_Float16) * 1);
-  static _Float16 param54_init[] = {0.4000000059604645f};
-  model->setOperandValue(param54, param54_init, sizeof(_Float16) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static _Float16 param56_init[] = {0.30000001192092896f};
+  model->setOperandValue(param56, param56_init, sizeof(_Float16) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static _Float16 param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(_Float16) * 1);
-  static _Float16 param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static _Float16 param59_init[] = {0.4000000059604645f};
   model->setOperandValue(param59, param59_init, sizeof(_Float16) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static _Float16 param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(_Float16) * 1);
+  static _Float16 param61_init[] = {0.30000001192092896f};
+  model->setOperandValue(param61, param61_init, sizeof(_Float16) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static _Float16 param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(_Float16) * 1);
+  static _Float16 param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(_Float16) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6006,72 +6258,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type13);
-  auto param54 = model->addOperand(&type13);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type13);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type13);
+  auto param60 = model->addOperand(&type13);
+  auto param61 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type13);
-  auto param59 = model->addOperand(&type13);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type65);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type13);
+  auto param65 = model->addOperand(&type13);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type65);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type22);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static float param53_init[] = {0.3f};
-  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
-  static float param54_init[] = {0.4f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static float param56_init[] = {0.3f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static float param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(float) * 1);
-  static float param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static float param59_init[] = {0.4f};
   model->setOperandValue(param59, param59_init, sizeof(float) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static float param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {0.3f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static float param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
+  static float param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6100,72 +6361,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type13);
-  auto param54 = model->addOperand(&type13);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type13);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type13);
+  auto param60 = model->addOperand(&type13);
+  auto param61 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type14);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type13);
-  auto param59 = model->addOperand(&type13);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type65);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type13);
+  auto param65 = model->addOperand(&type13);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type65);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type22);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static float param53_init[] = {0.3f};
-  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
-  static float param54_init[] = {0.4f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static float param56_init[] = {0.3f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static float param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(float) * 1);
-  static float param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static float param59_init[] = {0.4f};
   model->setOperandValue(param59, param59_init, sizeof(float) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static float param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {0.3f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static float param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
+  static float param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6196,72 +6466,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type55);
   auto roi1 = model->addOperand(&type53);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type13);
-  auto param54 = model->addOperand(&type13);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type13);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type13);
+  auto param60 = model->addOperand(&type13);
+  auto param61 = model->addOperand(&type13);
   auto scoresOut1 = model->addOperand(&type56);
   auto roiOut1 = model->addOperand(&type54);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type51);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type13);
-  auto param59 = model->addOperand(&type13);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type66);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type13);
+  auto param65 = model->addOperand(&type13);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type66);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type68);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static float param53_init[] = {0.3f};
-  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
-  static float param54_init[] = {0.4f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static float param56_init[] = {0.3f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static float param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(float) * 1);
-  static float param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static float param59_init[] = {0.4f};
   model->setOperandValue(param59, param59_init, sizeof(float) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static float param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {0.3f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static float param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(float) * 1);
+  static float param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(float) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -6290,72 +6569,81 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type63);
   auto roi1 = model->addOperand(&type61);
-  auto param52 = model->addOperand(&type12);
-  auto param53 = model->addOperand(&type60);
-  auto param54 = model->addOperand(&type60);
-  auto param55 = model->addOperand(&type2);
+  auto param55 = model->addOperand(&type12);
+  auto param56 = model->addOperand(&type60);
+  auto param57 = model->addOperand(&type2);
+  auto param58 = model->addOperand(&type2);
+  auto param59 = model->addOperand(&type60);
+  auto param60 = model->addOperand(&type60);
+  auto param61 = model->addOperand(&type60);
   auto scoresOut1 = model->addOperand(&type69);
   auto roiOut1 = model->addOperand(&type62);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type58);
-  auto param56 = model->addOperand(&type2);
-  auto param57 = model->addOperand(&type2);
-  auto param58 = model->addOperand(&type60);
-  auto param59 = model->addOperand(&type60);
-  auto param60 = model->addOperand(&type2);
-  auto param61 = model->addOperand(&type2);
-  auto layout = model->addOperand(&type0);
-  auto featureMap1 = model->addOperand(&type67);
   auto param62 = model->addOperand(&type2);
   auto param63 = model->addOperand(&type2);
-  auto param64 = model->addOperand(&type2);
-  auto param65 = model->addOperand(&type2);
+  auto param64 = model->addOperand(&type60);
+  auto param65 = model->addOperand(&type60);
   auto param66 = model->addOperand(&type2);
   auto param67 = model->addOperand(&type2);
+  auto layout = model->addOperand(&type0);
+  auto featureMap1 = model->addOperand(&type67);
+  auto param68 = model->addOperand(&type2);
+  auto param69 = model->addOperand(&type2);
+  auto param70 = model->addOperand(&type2);
+  auto param71 = model->addOperand(&type2);
+  auto param72 = model->addOperand(&type2);
+  auto param73 = model->addOperand(&type2);
   auto out1 = model->addOperand(&type24);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param52_init[] = {0};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static _Float16 param53_init[] = {0.30000001192092896f};
-  model->setOperandValue(param53, param53_init, sizeof(_Float16) * 1);
-  static _Float16 param54_init[] = {0.4000000059604645f};
-  model->setOperandValue(param54, param54_init, sizeof(_Float16) * 1);
-  static int32_t param55_init[] = {-1};
+  static int32_t param55_init[] = {0};
   model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
-  static int32_t param56_init[] = {2};
-  model->setOperandValue(param56, param56_init, sizeof(int32_t) * 1);
-  static int32_t param57_init[] = {2};
+  static _Float16 param56_init[] = {0.30000001192092896f};
+  model->setOperandValue(param56, param56_init, sizeof(_Float16) * 1);
+  static int32_t param57_init[] = {-1};
   model->setOperandValue(param57, param57_init, sizeof(int32_t) * 1);
-  static _Float16 param58_init[] = {2.0f};
-  model->setOperandValue(param58, param58_init, sizeof(_Float16) * 1);
-  static _Float16 param59_init[] = {2.0f};
+  static int32_t param58_init[] = {0};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static _Float16 param59_init[] = {0.4000000059604645f};
   model->setOperandValue(param59, param59_init, sizeof(_Float16) * 1);
-  static int32_t param60_init[] = {4};
-  model->setOperandValue(param60, param60_init, sizeof(int32_t) * 1);
-  static int32_t param61_init[] = {4};
-  model->setOperandValue(param61, param61_init, sizeof(int32_t) * 1);
+  static _Float16 param60_init[] = {1.0f};
+  model->setOperandValue(param60, param60_init, sizeof(_Float16) * 1);
+  static _Float16 param61_init[] = {0.30000001192092896f};
+  model->setOperandValue(param61, param61_init, sizeof(_Float16) * 1);
+  static int32_t param62_init[] = {2};
+  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
+  static int32_t param63_init[] = {2};
+  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
+  static _Float16 param64_init[] = {2.0f};
+  model->setOperandValue(param64, param64_init, sizeof(_Float16) * 1);
+  static _Float16 param65_init[] = {2.0f};
+  model->setOperandValue(param65, param65_init, sizeof(_Float16) * 1);
+  static int32_t param66_init[] = {4};
+  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
+  static int32_t param67_init[] = {4};
+  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param62_init[] = {1};
-  model->setOperandValue(param62, param62_init, sizeof(int32_t) * 1);
-  static int32_t param63_init[] = {1};
-  model->setOperandValue(param63, param63_init, sizeof(int32_t) * 1);
-  static int32_t param64_init[] = {1};
-  model->setOperandValue(param64, param64_init, sizeof(int32_t) * 1);
-  static int32_t param65_init[] = {2};
-  model->setOperandValue(param65, param65_init, sizeof(int32_t) * 1);
-  static int32_t param66_init[] = {2};
-  model->setOperandValue(param66, param66_init, sizeof(int32_t) * 1);
-  static int32_t param67_init[] = {0};
-  model->setOperandValue(param67, param67_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param52, param53, param54, param55}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param56, param57, param58, param59, param60, param61, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param62, param63, param64, param65, param66, param67, layout}, {out1});
+  static int32_t param68_init[] = {1};
+  model->setOperandValue(param68, param68_init, sizeof(int32_t) * 1);
+  static int32_t param69_init[] = {1};
+  model->setOperandValue(param69, param69_init, sizeof(int32_t) * 1);
+  static int32_t param70_init[] = {1};
+  model->setOperandValue(param70, param70_init, sizeof(int32_t) * 1);
+  static int32_t param71_init[] = {2};
+  model->setOperandValue(param71, param71_init, sizeof(int32_t) * 1);
+  static int32_t param72_init[] = {2};
+  model->setOperandValue(param72, param72_init, sizeof(int32_t) * 1);
+  static int32_t param73_init[] = {0};
+  model->setOperandValue(param73, param73_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param55, param56, param57, param58, param59, param60, param61}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param62, param63, param64, param65, param66, param67, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_MAX_POOL_2D, {featureMap1, param68, param69, param70, param71, param72, param73, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
diff --git a/runtime/test/generated/models/mul_v1_2.model.cpp b/runtime/test/generated/models/mul_v1_2.model.cpp
index 254cf8b..bcfd863 100644
--- a/runtime/test/generated/models/mul_v1_2.model.cpp
+++ b/runtime/test/generated/models/mul_v1_2.model.cpp
@@ -118,23 +118,26 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto op = model->addOperand(&type14);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type13);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -145,31 +148,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -200,23 +209,26 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto op = model->addOperand(&type14);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type13);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -227,31 +239,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -284,23 +302,26 @@
   auto roi = model->addOperand(&type20);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type23);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type18);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type17);
   auto op = model->addOperand(&type19);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type17);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -311,31 +332,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t op_init[] = {138, 148, 158, 168};
   model->setOperandValue(op, op_init, sizeof(uint8_t) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -366,23 +393,26 @@
   auto roi = model->addOperand(&type28);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type27);
-  auto param2 = model->addOperand(&type27);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type27);
+  auto param5 = model->addOperand(&type27);
+  auto param6 = model->addOperand(&type27);
   auto scoresOut = model->addOperand(&type31);
   auto roiOut = model->addOperand(&type29);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type25);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type27);
-  auto param7 = model->addOperand(&type27);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type27);
+  auto param10 = model->addOperand(&type27);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type24);
   auto op = model->addOperand(&type26);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type24);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -393,31 +423,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(_Float16) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -449,23 +485,26 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto op = model->addOperand(&type14);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type32);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -476,31 +515,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -532,23 +577,26 @@
   auto roi = model->addOperand(&type5);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type6);
   auto roiOut = model->addOperand(&type8);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto op = model->addOperand(&type14);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type32);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -559,31 +607,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -617,23 +671,26 @@
   auto roi = model->addOperand(&type20);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type10);
-  auto param2 = model->addOperand(&type10);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type10);
+  auto param5 = model->addOperand(&type10);
+  auto param6 = model->addOperand(&type10);
   auto scoresOut = model->addOperand(&type23);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type18);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type10);
-  auto param7 = model->addOperand(&type10);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type10);
+  auto param10 = model->addOperand(&type10);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type17);
   auto op = model->addOperand(&type19);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type33);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -644,31 +701,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t op_init[] = {138, 148, 158, 168};
   model->setOperandValue(op, op_init, sizeof(uint8_t) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -700,23 +763,26 @@
   auto roi = model->addOperand(&type28);
   auto param = model->addOperand(&type9);
   auto param1 = model->addOperand(&type27);
-  auto param2 = model->addOperand(&type27);
+  auto param2 = model->addOperand(&type1);
   auto param3 = model->addOperand(&type1);
+  auto param4 = model->addOperand(&type27);
+  auto param5 = model->addOperand(&type27);
+  auto param6 = model->addOperand(&type27);
   auto scoresOut = model->addOperand(&type15);
   auto roiOut = model->addOperand(&type29);
   auto classesOut = model->addOperand(&type7);
   auto batchSplitOut = model->addOperand(&type7);
   auto in = model->addOperand(&type25);
-  auto param4 = model->addOperand(&type1);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type27);
-  auto param7 = model->addOperand(&type27);
+  auto param7 = model->addOperand(&type1);
   auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
+  auto param9 = model->addOperand(&type27);
+  auto param10 = model->addOperand(&type27);
+  auto param11 = model->addOperand(&type1);
+  auto param12 = model->addOperand(&type1);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type24);
   auto op = model->addOperand(&type26);
-  auto param10 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto out = model->addOperand(&type34);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -727,31 +793,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(_Float16) * 4);
-  static int32_t param10_init[] = {0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param10}, {out});
+  static int32_t param13_init[] = {0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_MUL, {featureMap, op, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
diff --git a/runtime/test/generated/models/quantize.model.cpp b/runtime/test/generated/models/quantize.model.cpp
index c23d17f..8349b91 100644
--- a/runtime/test/generated/models/quantize.model.cpp
+++ b/runtime/test/generated/models/quantize.model.cpp
@@ -338,19 +338,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type13);
@@ -363,26 +366,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_QUANTIZE, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -414,19 +423,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type13);
@@ -439,26 +451,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_QUANTIZE, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -492,19 +510,22 @@
   auto roi = model->addOperand(&type25);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type24);
-  auto param2 = model->addOperand(&type24);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type24);
+  auto param5 = model->addOperand(&type24);
+  auto param6 = model->addOperand(&type24);
   auto scoresOut = model->addOperand(&type28);
   auto roiOut = model->addOperand(&type26);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type23);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type24);
-  auto param7 = model->addOperand(&type24);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type24);
+  auto param10 = model->addOperand(&type24);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type22);
   auto out = model->addOperand(&type13);
@@ -517,26 +538,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_QUANTIZE, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -568,19 +595,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type29);
@@ -593,26 +623,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_QUANTIZE, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -644,19 +680,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type29);
@@ -669,26 +708,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_QUANTIZE, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -722,19 +767,22 @@
   auto roi = model->addOperand(&type25);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type24);
-  auto param2 = model->addOperand(&type24);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type24);
+  auto param5 = model->addOperand(&type24);
+  auto param6 = model->addOperand(&type24);
   auto scoresOut = model->addOperand(&type30);
   auto roiOut = model->addOperand(&type26);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type23);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type24);
-  auto param7 = model->addOperand(&type24);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type24);
+  auto param10 = model->addOperand(&type24);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type22);
   auto out = model->addOperand(&type29);
@@ -747,26 +795,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_QUANTIZE, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
diff --git a/runtime/test/generated/models/relu1_v1_2.model.cpp b/runtime/test/generated/models/relu1_v1_2.model.cpp
index 4f0051c..cb25a6a 100644
--- a/runtime/test/generated/models/relu1_v1_2.model.cpp
+++ b/runtime/test/generated/models/relu1_v1_2.model.cpp
@@ -95,19 +95,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type12);
@@ -120,26 +123,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU1, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -170,19 +179,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type12);
@@ -195,26 +207,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU1, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -247,19 +265,22 @@
   auto roi = model->addOperand(&type16);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type19);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type15);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type14);
   auto out = model->addOperand(&type14);
@@ -272,26 +293,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU1, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -322,19 +349,22 @@
   auto roi = model->addOperand(&type23);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type22);
-  auto param2 = model->addOperand(&type22);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type22);
+  auto param5 = model->addOperand(&type22);
+  auto param6 = model->addOperand(&type22);
   auto scoresOut = model->addOperand(&type26);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type21);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type22);
-  auto param7 = model->addOperand(&type22);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type22);
+  auto param10 = model->addOperand(&type22);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type20);
   auto out = model->addOperand(&type20);
@@ -347,26 +377,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU1, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -398,19 +434,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type27);
@@ -423,26 +462,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU1, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -474,19 +519,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type27);
@@ -499,26 +547,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU1, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -552,19 +606,22 @@
   auto roi = model->addOperand(&type16);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type19);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type15);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type14);
   auto out = model->addOperand(&type28);
@@ -577,26 +634,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU1, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -628,19 +691,22 @@
   auto roi = model->addOperand(&type23);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type22);
-  auto param2 = model->addOperand(&type22);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type22);
+  auto param5 = model->addOperand(&type22);
+  auto param6 = model->addOperand(&type22);
   auto scoresOut = model->addOperand(&type29);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type21);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type22);
-  auto param7 = model->addOperand(&type22);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type22);
+  auto param10 = model->addOperand(&type22);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type20);
   auto out = model->addOperand(&type13);
@@ -653,26 +719,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU1, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
diff --git a/runtime/test/generated/models/relu6_v1_2.model.cpp b/runtime/test/generated/models/relu6_v1_2.model.cpp
index 7fc15e6..c92c791 100644
--- a/runtime/test/generated/models/relu6_v1_2.model.cpp
+++ b/runtime/test/generated/models/relu6_v1_2.model.cpp
@@ -95,19 +95,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type12);
@@ -120,26 +123,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU6, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -170,19 +179,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type12);
@@ -195,26 +207,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU6, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -247,19 +265,22 @@
   auto roi = model->addOperand(&type16);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type19);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type15);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type14);
   auto out = model->addOperand(&type14);
@@ -272,26 +293,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU6, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -322,19 +349,22 @@
   auto roi = model->addOperand(&type23);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type22);
-  auto param2 = model->addOperand(&type22);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type22);
+  auto param5 = model->addOperand(&type22);
+  auto param6 = model->addOperand(&type22);
   auto scoresOut = model->addOperand(&type26);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type21);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type22);
-  auto param7 = model->addOperand(&type22);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type22);
+  auto param10 = model->addOperand(&type22);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type20);
   auto out = model->addOperand(&type20);
@@ -347,26 +377,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU6, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -398,19 +434,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type27);
@@ -423,26 +462,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU6, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -474,19 +519,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type27);
@@ -499,26 +547,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU6, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -552,19 +606,22 @@
   auto roi = model->addOperand(&type16);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type19);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type15);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type14);
   auto out = model->addOperand(&type28);
@@ -577,26 +634,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU6, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -628,19 +691,22 @@
   auto roi = model->addOperand(&type23);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type22);
-  auto param2 = model->addOperand(&type22);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type22);
+  auto param5 = model->addOperand(&type22);
+  auto param6 = model->addOperand(&type22);
   auto scoresOut = model->addOperand(&type29);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type21);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type22);
-  auto param7 = model->addOperand(&type22);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type22);
+  auto param10 = model->addOperand(&type22);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type20);
   auto out = model->addOperand(&type13);
@@ -653,26 +719,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU6, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
diff --git a/runtime/test/generated/models/relu_v1_2.model.cpp b/runtime/test/generated/models/relu_v1_2.model.cpp
index 21ce85c..2c1e617 100644
--- a/runtime/test/generated/models/relu_v1_2.model.cpp
+++ b/runtime/test/generated/models/relu_v1_2.model.cpp
@@ -95,19 +95,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type12);
@@ -120,26 +123,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -170,19 +179,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type12);
@@ -195,26 +207,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -247,19 +265,22 @@
   auto roi = model->addOperand(&type16);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type19);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type15);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type14);
   auto out = model->addOperand(&type14);
@@ -272,26 +293,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -322,19 +349,22 @@
   auto roi = model->addOperand(&type23);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type22);
-  auto param2 = model->addOperand(&type22);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type22);
+  auto param5 = model->addOperand(&type22);
+  auto param6 = model->addOperand(&type22);
   auto scoresOut = model->addOperand(&type26);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type21);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type22);
-  auto param7 = model->addOperand(&type22);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type22);
+  auto param10 = model->addOperand(&type22);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type20);
   auto out = model->addOperand(&type20);
@@ -347,26 +377,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -398,19 +434,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type27);
@@ -423,26 +462,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -474,19 +519,22 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type6);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type11);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto out = model->addOperand(&type27);
@@ -499,26 +547,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -552,19 +606,22 @@
   auto roi = model->addOperand(&type16);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type8);
-  auto param2 = model->addOperand(&type8);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type8);
+  auto param5 = model->addOperand(&type8);
+  auto param6 = model->addOperand(&type8);
   auto scoresOut = model->addOperand(&type19);
   auto roiOut = model->addOperand(&type17);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type15);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type8);
-  auto param7 = model->addOperand(&type8);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type8);
+  auto param10 = model->addOperand(&type8);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type14);
   auto out = model->addOperand(&type28);
@@ -577,26 +634,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -628,19 +691,22 @@
   auto roi = model->addOperand(&type23);
   auto param = model->addOperand(&type7);
   auto param1 = model->addOperand(&type22);
-  auto param2 = model->addOperand(&type22);
+  auto param2 = model->addOperand(&type9);
   auto param3 = model->addOperand(&type9);
+  auto param4 = model->addOperand(&type22);
+  auto param5 = model->addOperand(&type22);
+  auto param6 = model->addOperand(&type22);
   auto scoresOut = model->addOperand(&type29);
   auto roiOut = model->addOperand(&type24);
   auto classesOut = model->addOperand(&type5);
   auto batchSplitOut = model->addOperand(&type5);
   auto in = model->addOperand(&type21);
-  auto param4 = model->addOperand(&type9);
-  auto param5 = model->addOperand(&type9);
-  auto param6 = model->addOperand(&type22);
-  auto param7 = model->addOperand(&type22);
+  auto param7 = model->addOperand(&type9);
   auto param8 = model->addOperand(&type9);
-  auto param9 = model->addOperand(&type9);
+  auto param9 = model->addOperand(&type22);
+  auto param10 = model->addOperand(&type22);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type9);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type20);
   auto out = model->addOperand(&type13);
@@ -653,26 +719,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_RELU, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
diff --git a/runtime/test/generated/models/resize_bilinear_v1_2.model.cpp b/runtime/test/generated/models/resize_bilinear_v1_2.model.cpp
index 77f6823..2dcc34c 100644
--- a/runtime/test/generated/models/resize_bilinear_v1_2.model.cpp
+++ b/runtime/test/generated/models/resize_bilinear_v1_2.model.cpp
@@ -2250,23 +2250,26 @@
   auto roi = model->addOperand(&type8);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type4);
-  auto param14 = model->addOperand(&type4);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type4);
+  auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type13);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type4);
+  auto param22 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type14);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type15);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -2277,31 +2280,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static float param13_init[] = {0.3f};
   model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static float param14_init[] = {0.4f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static float param18_init[] = {2.0f};
+  static float param16_init[] = {0.4f};
+  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {0.3f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static float param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static float param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
+  static float param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(float) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2332,23 +2341,26 @@
   auto roi = model->addOperand(&type8);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type4);
-  auto param14 = model->addOperand(&type4);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type4);
+  auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type13);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type4);
+  auto param22 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type14);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type15);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -2359,31 +2371,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static float param13_init[] = {0.3f};
   model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static float param14_init[] = {0.4f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static float param18_init[] = {2.0f};
+  static float param16_init[] = {0.4f};
+  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {0.3f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static float param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static float param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
+  static float param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(float) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2416,23 +2434,26 @@
   auto roi = model->addOperand(&type41);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type4);
-  auto param14 = model->addOperand(&type4);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type4);
+  auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type44);
   auto roiOut = model->addOperand(&type42);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type39);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type4);
+  auto param22 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type38);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type40);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -2443,31 +2464,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static float param13_init[] = {0.3f};
   model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static float param14_init[] = {0.4f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static float param18_init[] = {2.0f};
+  static float param16_init[] = {0.4f};
+  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {0.3f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static float param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static float param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
+  static float param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(float) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2498,23 +2525,26 @@
   auto roi = model->addOperand(&type48);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type29);
-  auto param14 = model->addOperand(&type29);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type29);
+  auto param17 = model->addOperand(&type29);
+  auto param18 = model->addOperand(&type29);
   auto scoresOut = model->addOperand(&type51);
   auto roiOut = model->addOperand(&type49);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type46);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type29);
-  auto param19 = model->addOperand(&type29);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type29);
+  auto param22 = model->addOperand(&type29);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type45);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type47);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -2525,31 +2555,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static _Float16 param13_init[] = {0.30000001192092896f};
   model->setOperandValue(param13, param13_init, sizeof(_Float16) * 1);
-  static _Float16 param14_init[] = {0.4000000059604645f};
-  model->setOperandValue(param14, param14_init, sizeof(_Float16) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static _Float16 param18_init[] = {2.0f};
+  static _Float16 param16_init[] = {0.4000000059604645f};
+  model->setOperandValue(param16, param16_init, sizeof(_Float16) * 1);
+  static _Float16 param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(_Float16) * 1);
+  static _Float16 param18_init[] = {0.30000001192092896f};
   model->setOperandValue(param18, param18_init, sizeof(_Float16) * 1);
-  static _Float16 param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(_Float16) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static _Float16 param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(_Float16) * 1);
+  static _Float16 param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(_Float16) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2580,23 +2616,26 @@
   auto roi = model->addOperand(&type8);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type4);
-  auto param14 = model->addOperand(&type4);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type4);
+  auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type13);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type4);
+  auto param22 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type52);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type53);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -2607,31 +2646,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static float param13_init[] = {0.3f};
   model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static float param14_init[] = {0.4f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static float param18_init[] = {2.0f};
+  static float param16_init[] = {0.4f};
+  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {0.3f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static float param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static float param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
+  static float param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(float) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2662,23 +2707,26 @@
   auto roi = model->addOperand(&type8);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type4);
-  auto param14 = model->addOperand(&type4);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type4);
+  auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type13);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type4);
+  auto param22 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type52);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type53);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -2689,31 +2737,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static float param13_init[] = {0.3f};
   model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static float param14_init[] = {0.4f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static float param18_init[] = {2.0f};
+  static float param16_init[] = {0.4f};
+  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {0.3f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static float param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static float param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
+  static float param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(float) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2746,23 +2800,26 @@
   auto roi = model->addOperand(&type41);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type4);
-  auto param14 = model->addOperand(&type4);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type4);
+  auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type44);
   auto roiOut = model->addOperand(&type42);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type39);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type4);
+  auto param22 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type54);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type55);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -2773,31 +2830,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static float param13_init[] = {0.3f};
   model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static float param14_init[] = {0.4f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static float param18_init[] = {2.0f};
+  static float param16_init[] = {0.4f};
+  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {0.3f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static float param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static float param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
+  static float param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(float) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2828,23 +2891,26 @@
   auto roi = model->addOperand(&type48);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type29);
-  auto param14 = model->addOperand(&type29);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type29);
+  auto param17 = model->addOperand(&type29);
+  auto param18 = model->addOperand(&type29);
   auto scoresOut = model->addOperand(&type51);
   auto roiOut = model->addOperand(&type49);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type46);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type29);
-  auto param19 = model->addOperand(&type29);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type29);
+  auto param22 = model->addOperand(&type29);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type56);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type57);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -2855,31 +2921,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static _Float16 param13_init[] = {0.30000001192092896f};
   model->setOperandValue(param13, param13_init, sizeof(_Float16) * 1);
-  static _Float16 param14_init[] = {0.4000000059604645f};
-  model->setOperandValue(param14, param14_init, sizeof(_Float16) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static _Float16 param18_init[] = {2.0f};
+  static _Float16 param16_init[] = {0.4000000059604645f};
+  model->setOperandValue(param16, param16_init, sizeof(_Float16) * 1);
+  static _Float16 param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(_Float16) * 1);
+  static _Float16 param18_init[] = {0.30000001192092896f};
   model->setOperandValue(param18, param18_init, sizeof(_Float16) * 1);
-  static _Float16 param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(_Float16) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static _Float16 param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(_Float16) * 1);
+  static _Float16 param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(_Float16) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2910,23 +2982,26 @@
   auto roi = model->addOperand(&type8);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type4);
-  auto param14 = model->addOperand(&type4);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type4);
+  auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type13);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type4);
+  auto param22 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type14);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type26);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -2937,31 +3012,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static float param13_init[] = {0.3f};
   model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static float param14_init[] = {0.4f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static float param18_init[] = {2.0f};
+  static float param16_init[] = {0.4f};
+  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {0.3f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static float param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static float param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
+  static float param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(float) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -2992,23 +3073,26 @@
   auto roi = model->addOperand(&type8);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type4);
-  auto param14 = model->addOperand(&type4);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type4);
+  auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type13);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type4);
+  auto param22 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type14);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type26);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -3019,31 +3103,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static float param13_init[] = {0.3f};
   model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static float param14_init[] = {0.4f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static float param18_init[] = {2.0f};
+  static float param16_init[] = {0.4f};
+  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {0.3f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static float param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static float param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
+  static float param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(float) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3076,23 +3166,26 @@
   auto roi = model->addOperand(&type41);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type4);
-  auto param14 = model->addOperand(&type4);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type4);
+  auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type44);
   auto roiOut = model->addOperand(&type42);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type39);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type4);
+  auto param22 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type38);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type58);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -3103,31 +3196,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static float param13_init[] = {0.3f};
   model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static float param14_init[] = {0.4f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static float param18_init[] = {2.0f};
+  static float param16_init[] = {0.4f};
+  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {0.3f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static float param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static float param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
+  static float param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(float) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3158,23 +3257,26 @@
   auto roi = model->addOperand(&type48);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type29);
-  auto param14 = model->addOperand(&type29);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type29);
+  auto param17 = model->addOperand(&type29);
+  auto param18 = model->addOperand(&type29);
   auto scoresOut = model->addOperand(&type59);
   auto roiOut = model->addOperand(&type49);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type46);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type29);
-  auto param19 = model->addOperand(&type29);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type29);
+  auto param22 = model->addOperand(&type29);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type45);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type27);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -3185,31 +3287,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static _Float16 param13_init[] = {0.30000001192092896f};
   model->setOperandValue(param13, param13_init, sizeof(_Float16) * 1);
-  static _Float16 param14_init[] = {0.4000000059604645f};
-  model->setOperandValue(param14, param14_init, sizeof(_Float16) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static _Float16 param18_init[] = {2.0f};
+  static _Float16 param16_init[] = {0.4000000059604645f};
+  model->setOperandValue(param16, param16_init, sizeof(_Float16) * 1);
+  static _Float16 param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(_Float16) * 1);
+  static _Float16 param18_init[] = {0.30000001192092896f};
   model->setOperandValue(param18, param18_init, sizeof(_Float16) * 1);
-  static _Float16 param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(_Float16) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static _Float16 param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(_Float16) * 1);
+  static _Float16 param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(_Float16) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3240,23 +3348,26 @@
   auto roi = model->addOperand(&type8);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type4);
-  auto param14 = model->addOperand(&type4);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type4);
+  auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type13);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type4);
+  auto param22 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type52);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type26);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -3267,31 +3378,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static float param13_init[] = {0.3f};
   model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static float param14_init[] = {0.4f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static float param18_init[] = {2.0f};
+  static float param16_init[] = {0.4f};
+  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {0.3f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static float param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static float param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
+  static float param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(float) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3322,23 +3439,26 @@
   auto roi = model->addOperand(&type8);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type4);
-  auto param14 = model->addOperand(&type4);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type4);
+  auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type9);
   auto roiOut = model->addOperand(&type11);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type13);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type4);
+  auto param22 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type52);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type26);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -3349,31 +3469,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static float param13_init[] = {0.3f};
   model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static float param14_init[] = {0.4f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static float param18_init[] = {2.0f};
+  static float param16_init[] = {0.4f};
+  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {0.3f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static float param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static float param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
+  static float param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(float) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3406,23 +3532,26 @@
   auto roi = model->addOperand(&type41);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type4);
-  auto param14 = model->addOperand(&type4);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type4);
+  auto param17 = model->addOperand(&type4);
+  auto param18 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type44);
   auto roiOut = model->addOperand(&type42);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type39);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type4);
-  auto param19 = model->addOperand(&type4);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type4);
+  auto param22 = model->addOperand(&type4);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type54);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type58);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -3433,31 +3562,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static float param13_init[] = {0.3f};
   model->setOperandValue(param13, param13_init, sizeof(float) * 1);
-  static float param14_init[] = {0.4f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static float param18_init[] = {2.0f};
+  static float param16_init[] = {0.4f};
+  model->setOperandValue(param16, param16_init, sizeof(float) * 1);
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  static float param18_init[] = {0.3f};
   model->setOperandValue(param18, param18_init, sizeof(float) * 1);
-  static float param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(float) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static float param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(float) * 1);
+  static float param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(float) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3488,23 +3623,26 @@
   auto roi = model->addOperand(&type48);
   auto param12 = model->addOperand(&type12);
   auto param13 = model->addOperand(&type29);
-  auto param14 = model->addOperand(&type29);
+  auto param14 = model->addOperand(&type3);
   auto param15 = model->addOperand(&type3);
+  auto param16 = model->addOperand(&type29);
+  auto param17 = model->addOperand(&type29);
+  auto param18 = model->addOperand(&type29);
   auto scoresOut = model->addOperand(&type59);
   auto roiOut = model->addOperand(&type49);
   auto classesOut = model->addOperand(&type10);
   auto batchSplitOut = model->addOperand(&type10);
   auto in = model->addOperand(&type46);
-  auto param16 = model->addOperand(&type3);
-  auto param17 = model->addOperand(&type3);
-  auto param18 = model->addOperand(&type29);
-  auto param19 = model->addOperand(&type29);
+  auto param19 = model->addOperand(&type3);
   auto param20 = model->addOperand(&type3);
-  auto param21 = model->addOperand(&type3);
+  auto param21 = model->addOperand(&type29);
+  auto param22 = model->addOperand(&type29);
+  auto param23 = model->addOperand(&type3);
+  auto param24 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type56);
-  auto param22 = model->addOperand(&type3);
-  auto param23 = model->addOperand(&type3);
+  auto param25 = model->addOperand(&type3);
+  auto param26 = model->addOperand(&type3);
   auto out = model->addOperand(&type27);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -3515,31 +3653,37 @@
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static _Float16 param13_init[] = {0.30000001192092896f};
   model->setOperandValue(param13, param13_init, sizeof(_Float16) * 1);
-  static _Float16 param14_init[] = {0.4000000059604645f};
-  model->setOperandValue(param14, param14_init, sizeof(_Float16) * 1);
-  static int32_t param15_init[] = {-1};
+  static int32_t param14_init[] = {-1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  static int32_t param15_init[] = {0};
   model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
-  static int32_t param16_init[] = {2};
-  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
-  static int32_t param17_init[] = {2};
-  model->setOperandValue(param17, param17_init, sizeof(int32_t) * 1);
-  static _Float16 param18_init[] = {2.0f};
+  static _Float16 param16_init[] = {0.4000000059604645f};
+  model->setOperandValue(param16, param16_init, sizeof(_Float16) * 1);
+  static _Float16 param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(_Float16) * 1);
+  static _Float16 param18_init[] = {0.30000001192092896f};
   model->setOperandValue(param18, param18_init, sizeof(_Float16) * 1);
-  static _Float16 param19_init[] = {2.0f};
-  model->setOperandValue(param19, param19_init, sizeof(_Float16) * 1);
-  static int32_t param20_init[] = {4};
+  static int32_t param19_init[] = {2};
+  model->setOperandValue(param19, param19_init, sizeof(int32_t) * 1);
+  static int32_t param20_init[] = {2};
   model->setOperandValue(param20, param20_init, sizeof(int32_t) * 1);
-  static int32_t param21_init[] = {4};
-  model->setOperandValue(param21, param21_init, sizeof(int32_t) * 1);
+  static _Float16 param21_init[] = {2.0f};
+  model->setOperandValue(param21, param21_init, sizeof(_Float16) * 1);
+  static _Float16 param22_init[] = {2.0f};
+  model->setOperandValue(param22, param22_init, sizeof(_Float16) * 1);
+  static int32_t param23_init[] = {4};
+  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
+  static int32_t param24_init[] = {4};
+  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param22_init[] = {3};
-  model->setOperandValue(param22, param22_init, sizeof(int32_t) * 1);
-  static int32_t param23_init[] = {3};
-  model->setOperandValue(param23, param23_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param16, param17, param18, param19, param20, param21, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param22, param23, layout}, {out});
+  static int32_t param25_init[] = {3};
+  model->setOperandValue(param25, param25_init, sizeof(int32_t) * 1);
+  static int32_t param26_init[] = {3};
+  model->setOperandValue(param26, param26_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param12, param13, param14, param15, param16, param17, param18}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param19, param20, param21, param22, param23, param24, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap, param25, param26, layout}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -3568,60 +3712,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type4);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type13);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type4);
-  auto param31 = model->addOperand(&type4);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type14);
-  auto param34 = model->addOperand(&type4);
-  auto param35 = model->addOperand(&type4);
+  auto param40 = model->addOperand(&type4);
+  auto param41 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type15);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static float param25_init[] = {0.3f};
-  model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static float param28_init[] = {0.3f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static float param31_init[] = {0.4f};
   model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {0.3f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static float param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param34_init[] = {1.6f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {1.6f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static float param40_init[] = {1.6f};
+  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
+  static float param41_init[] = {1.6f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -3650,60 +3803,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type4);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type13);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type4);
-  auto param31 = model->addOperand(&type4);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type14);
-  auto param34 = model->addOperand(&type4);
-  auto param35 = model->addOperand(&type4);
+  auto param40 = model->addOperand(&type4);
+  auto param41 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type15);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static float param25_init[] = {0.3f};
-  model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static float param28_init[] = {0.3f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static float param31_init[] = {0.4f};
   model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {0.3f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static float param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param34_init[] = {1.6f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {1.6f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static float param40_init[] = {1.6f};
+  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
+  static float param41_init[] = {1.6f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -3734,60 +3896,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type43);
   auto roi1 = model->addOperand(&type41);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type4);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type44);
   auto roiOut1 = model->addOperand(&type42);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type39);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type4);
-  auto param31 = model->addOperand(&type4);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type38);
-  auto param34 = model->addOperand(&type4);
-  auto param35 = model->addOperand(&type4);
+  auto param40 = model->addOperand(&type4);
+  auto param41 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type40);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static float param25_init[] = {0.3f};
-  model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static float param28_init[] = {0.3f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static float param31_init[] = {0.4f};
   model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {0.3f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static float param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param34_init[] = {1.6f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {1.6f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static float param40_init[] = {1.6f};
+  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
+  static float param41_init[] = {1.6f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -3816,60 +3987,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type50);
   auto roi1 = model->addOperand(&type48);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type29);
-  auto param26 = model->addOperand(&type29);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type29);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type29);
+  auto param32 = model->addOperand(&type29);
+  auto param33 = model->addOperand(&type29);
   auto scoresOut1 = model->addOperand(&type51);
   auto roiOut1 = model->addOperand(&type49);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type46);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type29);
-  auto param31 = model->addOperand(&type29);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type29);
+  auto param37 = model->addOperand(&type29);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type45);
-  auto param34 = model->addOperand(&type29);
-  auto param35 = model->addOperand(&type29);
+  auto param40 = model->addOperand(&type29);
+  auto param41 = model->addOperand(&type29);
   auto out1 = model->addOperand(&type47);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static _Float16 param25_init[] = {0.30000001192092896f};
-  model->setOperandValue(param25, param25_init, sizeof(_Float16) * 1);
-  static _Float16 param26_init[] = {0.4000000059604645f};
-  model->setOperandValue(param26, param26_init, sizeof(_Float16) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static _Float16 param28_init[] = {0.30000001192092896f};
+  model->setOperandValue(param28, param28_init, sizeof(_Float16) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static _Float16 param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(_Float16) * 1);
-  static _Float16 param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static _Float16 param31_init[] = {0.4000000059604645f};
   model->setOperandValue(param31, param31_init, sizeof(_Float16) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static _Float16 param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(_Float16) * 1);
+  static _Float16 param33_init[] = {0.30000001192092896f};
+  model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static _Float16 param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(_Float16) * 1);
+  static _Float16 param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static _Float16 param34_init[] = {1.600000023841858f};
-  model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static _Float16 param35_init[] = {1.600000023841858f};
-  model->setOperandValue(param35, param35_init, sizeof(_Float16) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static _Float16 param40_init[] = {1.600000023841858f};
+  model->setOperandValue(param40, param40_init, sizeof(_Float16) * 1);
+  static _Float16 param41_init[] = {1.600000023841858f};
+  model->setOperandValue(param41, param41_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -3898,60 +4078,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type4);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type13);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type4);
-  auto param31 = model->addOperand(&type4);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type52);
-  auto param34 = model->addOperand(&type4);
-  auto param35 = model->addOperand(&type4);
+  auto param40 = model->addOperand(&type4);
+  auto param41 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type53);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static float param25_init[] = {0.3f};
-  model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static float param28_init[] = {0.3f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static float param31_init[] = {0.4f};
   model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {0.3f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static float param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param34_init[] = {1.6f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {1.6f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static float param40_init[] = {1.6f};
+  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
+  static float param41_init[] = {1.6f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -3980,60 +4169,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type4);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type13);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type4);
-  auto param31 = model->addOperand(&type4);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type52);
-  auto param34 = model->addOperand(&type4);
-  auto param35 = model->addOperand(&type4);
+  auto param40 = model->addOperand(&type4);
+  auto param41 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type53);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static float param25_init[] = {0.3f};
-  model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static float param28_init[] = {0.3f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static float param31_init[] = {0.4f};
   model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {0.3f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static float param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param34_init[] = {1.6f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {1.6f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static float param40_init[] = {1.6f};
+  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
+  static float param41_init[] = {1.6f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4064,60 +4262,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type43);
   auto roi1 = model->addOperand(&type41);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type4);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type44);
   auto roiOut1 = model->addOperand(&type42);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type39);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type4);
-  auto param31 = model->addOperand(&type4);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type54);
-  auto param34 = model->addOperand(&type4);
-  auto param35 = model->addOperand(&type4);
+  auto param40 = model->addOperand(&type4);
+  auto param41 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type55);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static float param25_init[] = {0.3f};
-  model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static float param28_init[] = {0.3f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static float param31_init[] = {0.4f};
   model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {0.3f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static float param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param34_init[] = {1.6f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {1.6f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static float param40_init[] = {1.6f};
+  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
+  static float param41_init[] = {1.6f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4146,60 +4353,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type50);
   auto roi1 = model->addOperand(&type48);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type29);
-  auto param26 = model->addOperand(&type29);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type29);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type29);
+  auto param32 = model->addOperand(&type29);
+  auto param33 = model->addOperand(&type29);
   auto scoresOut1 = model->addOperand(&type51);
   auto roiOut1 = model->addOperand(&type49);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type46);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type29);
-  auto param31 = model->addOperand(&type29);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type29);
+  auto param37 = model->addOperand(&type29);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type56);
-  auto param34 = model->addOperand(&type29);
-  auto param35 = model->addOperand(&type29);
+  auto param40 = model->addOperand(&type29);
+  auto param41 = model->addOperand(&type29);
   auto out1 = model->addOperand(&type57);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static _Float16 param25_init[] = {0.30000001192092896f};
-  model->setOperandValue(param25, param25_init, sizeof(_Float16) * 1);
-  static _Float16 param26_init[] = {0.4000000059604645f};
-  model->setOperandValue(param26, param26_init, sizeof(_Float16) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static _Float16 param28_init[] = {0.30000001192092896f};
+  model->setOperandValue(param28, param28_init, sizeof(_Float16) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static _Float16 param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(_Float16) * 1);
-  static _Float16 param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static _Float16 param31_init[] = {0.4000000059604645f};
   model->setOperandValue(param31, param31_init, sizeof(_Float16) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static _Float16 param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(_Float16) * 1);
+  static _Float16 param33_init[] = {0.30000001192092896f};
+  model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static _Float16 param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(_Float16) * 1);
+  static _Float16 param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static _Float16 param34_init[] = {1.600000023841858f};
-  model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static _Float16 param35_init[] = {1.600000023841858f};
-  model->setOperandValue(param35, param35_init, sizeof(_Float16) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static _Float16 param40_init[] = {1.600000023841858f};
+  model->setOperandValue(param40, param40_init, sizeof(_Float16) * 1);
+  static _Float16 param41_init[] = {1.600000023841858f};
+  model->setOperandValue(param41, param41_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4228,60 +4444,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type4);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type13);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type4);
-  auto param31 = model->addOperand(&type4);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type14);
-  auto param34 = model->addOperand(&type4);
-  auto param35 = model->addOperand(&type4);
+  auto param40 = model->addOperand(&type4);
+  auto param41 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type26);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static float param25_init[] = {0.3f};
-  model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static float param28_init[] = {0.3f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static float param31_init[] = {0.4f};
   model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {0.3f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static float param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param34_init[] = {1.6f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {1.6f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static float param40_init[] = {1.6f};
+  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
+  static float param41_init[] = {1.6f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4310,60 +4535,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type4);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type13);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type4);
-  auto param31 = model->addOperand(&type4);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type14);
-  auto param34 = model->addOperand(&type4);
-  auto param35 = model->addOperand(&type4);
+  auto param40 = model->addOperand(&type4);
+  auto param41 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type26);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static float param25_init[] = {0.3f};
-  model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static float param28_init[] = {0.3f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static float param31_init[] = {0.4f};
   model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {0.3f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static float param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param34_init[] = {1.6f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {1.6f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static float param40_init[] = {1.6f};
+  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
+  static float param41_init[] = {1.6f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4394,60 +4628,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type43);
   auto roi1 = model->addOperand(&type41);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type4);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type44);
   auto roiOut1 = model->addOperand(&type42);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type39);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type4);
-  auto param31 = model->addOperand(&type4);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type38);
-  auto param34 = model->addOperand(&type4);
-  auto param35 = model->addOperand(&type4);
+  auto param40 = model->addOperand(&type4);
+  auto param41 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type58);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static float param25_init[] = {0.3f};
-  model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static float param28_init[] = {0.3f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static float param31_init[] = {0.4f};
   model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {0.3f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static float param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param34_init[] = {1.6f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {1.6f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static float param40_init[] = {1.6f};
+  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
+  static float param41_init[] = {1.6f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4476,60 +4719,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type50);
   auto roi1 = model->addOperand(&type48);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type29);
-  auto param26 = model->addOperand(&type29);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type29);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type29);
+  auto param32 = model->addOperand(&type29);
+  auto param33 = model->addOperand(&type29);
   auto scoresOut1 = model->addOperand(&type59);
   auto roiOut1 = model->addOperand(&type49);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type46);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type29);
-  auto param31 = model->addOperand(&type29);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type29);
+  auto param37 = model->addOperand(&type29);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type45);
-  auto param34 = model->addOperand(&type29);
-  auto param35 = model->addOperand(&type29);
+  auto param40 = model->addOperand(&type29);
+  auto param41 = model->addOperand(&type29);
   auto out1 = model->addOperand(&type27);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static _Float16 param25_init[] = {0.30000001192092896f};
-  model->setOperandValue(param25, param25_init, sizeof(_Float16) * 1);
-  static _Float16 param26_init[] = {0.4000000059604645f};
-  model->setOperandValue(param26, param26_init, sizeof(_Float16) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static _Float16 param28_init[] = {0.30000001192092896f};
+  model->setOperandValue(param28, param28_init, sizeof(_Float16) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static _Float16 param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(_Float16) * 1);
-  static _Float16 param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static _Float16 param31_init[] = {0.4000000059604645f};
   model->setOperandValue(param31, param31_init, sizeof(_Float16) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static _Float16 param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(_Float16) * 1);
+  static _Float16 param33_init[] = {0.30000001192092896f};
+  model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static _Float16 param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(_Float16) * 1);
+  static _Float16 param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static _Float16 param34_init[] = {1.600000023841858f};
-  model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static _Float16 param35_init[] = {1.600000023841858f};
-  model->setOperandValue(param35, param35_init, sizeof(_Float16) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static _Float16 param40_init[] = {1.600000023841858f};
+  model->setOperandValue(param40, param40_init, sizeof(_Float16) * 1);
+  static _Float16 param41_init[] = {1.600000023841858f};
+  model->setOperandValue(param41, param41_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4558,60 +4810,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type4);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type13);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type4);
-  auto param31 = model->addOperand(&type4);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type52);
-  auto param34 = model->addOperand(&type4);
-  auto param35 = model->addOperand(&type4);
+  auto param40 = model->addOperand(&type4);
+  auto param41 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type26);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static float param25_init[] = {0.3f};
-  model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static float param28_init[] = {0.3f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static float param31_init[] = {0.4f};
   model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {0.3f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static float param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param34_init[] = {1.6f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {1.6f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static float param40_init[] = {1.6f};
+  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
+  static float param41_init[] = {1.6f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4640,60 +4901,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type7);
   auto roi1 = model->addOperand(&type8);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type4);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type9);
   auto roiOut1 = model->addOperand(&type11);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type13);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type4);
-  auto param31 = model->addOperand(&type4);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type52);
-  auto param34 = model->addOperand(&type4);
-  auto param35 = model->addOperand(&type4);
+  auto param40 = model->addOperand(&type4);
+  auto param41 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type26);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static float param25_init[] = {0.3f};
-  model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static float param28_init[] = {0.3f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static float param31_init[] = {0.4f};
   model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {0.3f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static float param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param34_init[] = {1.6f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {1.6f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static float param40_init[] = {1.6f};
+  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
+  static float param41_init[] = {1.6f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4724,60 +4994,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type43);
   auto roi1 = model->addOperand(&type41);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type4);
-  auto param26 = model->addOperand(&type4);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type4);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type4);
+  auto param32 = model->addOperand(&type4);
+  auto param33 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type44);
   auto roiOut1 = model->addOperand(&type42);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type39);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type4);
-  auto param31 = model->addOperand(&type4);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type54);
-  auto param34 = model->addOperand(&type4);
-  auto param35 = model->addOperand(&type4);
+  auto param40 = model->addOperand(&type4);
+  auto param41 = model->addOperand(&type4);
   auto out1 = model->addOperand(&type58);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static float param25_init[] = {0.3f};
-  model->setOperandValue(param25, param25_init, sizeof(float) * 1);
-  static float param26_init[] = {0.4f};
-  model->setOperandValue(param26, param26_init, sizeof(float) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static float param28_init[] = {0.3f};
+  model->setOperandValue(param28, param28_init, sizeof(float) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static float param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static float param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static float param31_init[] = {0.4f};
   model->setOperandValue(param31, param31_init, sizeof(float) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static float param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {0.3f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static float param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param34_init[] = {1.6f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {1.6f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static float param40_init[] = {1.6f};
+  model->setOperandValue(param40, param40_init, sizeof(float) * 1);
+  static float param41_init[] = {1.6f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
@@ -4806,60 +5085,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type50);
   auto roi1 = model->addOperand(&type48);
-  auto param24 = model->addOperand(&type12);
-  auto param25 = model->addOperand(&type29);
-  auto param26 = model->addOperand(&type29);
-  auto param27 = model->addOperand(&type3);
+  auto param27 = model->addOperand(&type12);
+  auto param28 = model->addOperand(&type29);
+  auto param29 = model->addOperand(&type3);
+  auto param30 = model->addOperand(&type3);
+  auto param31 = model->addOperand(&type29);
+  auto param32 = model->addOperand(&type29);
+  auto param33 = model->addOperand(&type29);
   auto scoresOut1 = model->addOperand(&type59);
   auto roiOut1 = model->addOperand(&type49);
   auto classesOut1 = model->addOperand(&type10);
   auto batchSplitOut1 = model->addOperand(&type10);
   auto in1 = model->addOperand(&type46);
-  auto param28 = model->addOperand(&type3);
-  auto param29 = model->addOperand(&type3);
-  auto param30 = model->addOperand(&type29);
-  auto param31 = model->addOperand(&type29);
-  auto param32 = model->addOperand(&type3);
-  auto param33 = model->addOperand(&type3);
+  auto param34 = model->addOperand(&type3);
+  auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type29);
+  auto param37 = model->addOperand(&type29);
+  auto param38 = model->addOperand(&type3);
+  auto param39 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type56);
-  auto param34 = model->addOperand(&type29);
-  auto param35 = model->addOperand(&type29);
+  auto param40 = model->addOperand(&type29);
+  auto param41 = model->addOperand(&type29);
   auto out1 = model->addOperand(&type27);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param24_init[] = {0};
-  model->setOperandValue(param24, param24_init, sizeof(int32_t) * 1);
-  static _Float16 param25_init[] = {0.30000001192092896f};
-  model->setOperandValue(param25, param25_init, sizeof(_Float16) * 1);
-  static _Float16 param26_init[] = {0.4000000059604645f};
-  model->setOperandValue(param26, param26_init, sizeof(_Float16) * 1);
-  static int32_t param27_init[] = {-1};
+  static int32_t param27_init[] = {0};
   model->setOperandValue(param27, param27_init, sizeof(int32_t) * 1);
-  static int32_t param28_init[] = {2};
-  model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
-  static int32_t param29_init[] = {2};
+  static _Float16 param28_init[] = {0.30000001192092896f};
+  model->setOperandValue(param28, param28_init, sizeof(_Float16) * 1);
+  static int32_t param29_init[] = {-1};
   model->setOperandValue(param29, param29_init, sizeof(int32_t) * 1);
-  static _Float16 param30_init[] = {2.0f};
-  model->setOperandValue(param30, param30_init, sizeof(_Float16) * 1);
-  static _Float16 param31_init[] = {2.0f};
+  static int32_t param30_init[] = {0};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static _Float16 param31_init[] = {0.4000000059604645f};
   model->setOperandValue(param31, param31_init, sizeof(_Float16) * 1);
-  static int32_t param32_init[] = {4};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {4};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
+  static _Float16 param32_init[] = {1.0f};
+  model->setOperandValue(param32, param32_init, sizeof(_Float16) * 1);
+  static _Float16 param33_init[] = {0.30000001192092896f};
+  model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
+  static int32_t param34_init[] = {2};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static _Float16 param36_init[] = {2.0f};
+  model->setOperandValue(param36, param36_init, sizeof(_Float16) * 1);
+  static _Float16 param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static int32_t param38_init[] = {4};
+  model->setOperandValue(param38, param38_init, sizeof(int32_t) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static _Float16 param34_init[] = {1.600000023841858f};
-  model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static _Float16 param35_init[] = {1.600000023841858f};
-  model->setOperandValue(param35, param35_init, sizeof(_Float16) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param24, param25, param26, param27}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param28, param29, param30, param31, param32, param33, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param34, param35, layout}, {out1});
+  static _Float16 param40_init[] = {1.600000023841858f};
+  model->setOperandValue(param40, param40_init, sizeof(_Float16) * 1);
+  static _Float16 param41_init[] = {1.600000023841858f};
+  model->setOperandValue(param41, param41_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param27, param28, param29, param30, param31, param32, param33}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in1, roiOut1, batchSplitOut1, param34, param35, param36, param37, param38, param39, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_BILINEAR, {featureMap1, param40, param41, layout}, {out1});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in1},
diff --git a/runtime/test/generated/models/resize_nearest_neighbor.model.cpp b/runtime/test/generated/models/resize_nearest_neighbor.model.cpp
index 911cefb..27b9061 100644
--- a/runtime/test/generated/models/resize_nearest_neighbor.model.cpp
+++ b/runtime/test/generated/models/resize_nearest_neighbor.model.cpp
@@ -8082,23 +8082,26 @@
   auto roi = model->addOperand(&type12);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type4);
-  auto param34 = model->addOperand(&type4);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type13);
   auto roiOut = model->addOperand(&type15);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type2);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type4);
-  auto param39 = model->addOperand(&type4);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type4);
+  auto param42 = model->addOperand(&type4);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type17);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type18);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -8109,31 +8112,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static float param33_init[] = {0.3f};
   model->setOperandValue(param33, param33_init, sizeof(float) * 1);
-  static float param34_init[] = {0.4f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static float param38_init[] = {2.0f};
+  static float param36_init[] = {0.4f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {0.3f};
   model->setOperandValue(param38, param38_init, sizeof(float) * 1);
-  static float param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static float param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -8164,23 +8173,26 @@
   auto roi = model->addOperand(&type12);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type4);
-  auto param34 = model->addOperand(&type4);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type13);
   auto roiOut = model->addOperand(&type15);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type2);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type4);
-  auto param39 = model->addOperand(&type4);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type4);
+  auto param42 = model->addOperand(&type4);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type17);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type18);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -8191,31 +8203,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static float param33_init[] = {0.3f};
   model->setOperandValue(param33, param33_init, sizeof(float) * 1);
-  static float param34_init[] = {0.4f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static float param38_init[] = {2.0f};
+  static float param36_init[] = {0.4f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {0.3f};
   model->setOperandValue(param38, param38_init, sizeof(float) * 1);
-  static float param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static float param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -8248,23 +8266,26 @@
   auto roi = model->addOperand(&type68);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type4);
-  auto param34 = model->addOperand(&type4);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type71);
   auto roiOut = model->addOperand(&type69);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type66);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type4);
-  auto param39 = model->addOperand(&type4);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type4);
+  auto param42 = model->addOperand(&type4);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type65);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type67);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -8275,31 +8296,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static float param33_init[] = {0.3f};
   model->setOperandValue(param33, param33_init, sizeof(float) * 1);
-  static float param34_init[] = {0.4f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static float param38_init[] = {2.0f};
+  static float param36_init[] = {0.4f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {0.3f};
   model->setOperandValue(param38, param38_init, sizeof(float) * 1);
-  static float param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static float param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -8330,23 +8357,26 @@
   auto roi = model->addOperand(&type74);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type29);
-  auto param34 = model->addOperand(&type29);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type29);
+  auto param37 = model->addOperand(&type29);
+  auto param38 = model->addOperand(&type29);
   auto scoresOut = model->addOperand(&type77);
   auto roiOut = model->addOperand(&type75);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type22);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type29);
-  auto param39 = model->addOperand(&type29);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type29);
+  auto param42 = model->addOperand(&type29);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type72);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type73);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -8357,31 +8387,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static _Float16 param33_init[] = {0.30000001192092896f};
   model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
-  static _Float16 param34_init[] = {0.4000000059604645f};
-  model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static _Float16 param38_init[] = {2.0f};
+  static _Float16 param36_init[] = {0.4000000059604645f};
+  model->setOperandValue(param36, param36_init, sizeof(_Float16) * 1);
+  static _Float16 param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static _Float16 param38_init[] = {0.30000001192092896f};
   model->setOperandValue(param38, param38_init, sizeof(_Float16) * 1);
-  static _Float16 param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(_Float16) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static _Float16 param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(_Float16) * 1);
+  static _Float16 param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(_Float16) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -8412,23 +8448,26 @@
   auto roi = model->addOperand(&type12);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type4);
-  auto param34 = model->addOperand(&type4);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type13);
   auto roiOut = model->addOperand(&type15);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type2);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type4);
-  auto param39 = model->addOperand(&type4);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type4);
+  auto param42 = model->addOperand(&type4);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type78);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type79);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -8439,31 +8478,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static float param33_init[] = {0.3f};
   model->setOperandValue(param33, param33_init, sizeof(float) * 1);
-  static float param34_init[] = {0.4f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static float param38_init[] = {2.0f};
+  static float param36_init[] = {0.4f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {0.3f};
   model->setOperandValue(param38, param38_init, sizeof(float) * 1);
-  static float param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static float param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -8494,23 +8539,26 @@
   auto roi = model->addOperand(&type12);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type4);
-  auto param34 = model->addOperand(&type4);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type13);
   auto roiOut = model->addOperand(&type15);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type2);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type4);
-  auto param39 = model->addOperand(&type4);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type4);
+  auto param42 = model->addOperand(&type4);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type78);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type79);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -8521,31 +8569,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static float param33_init[] = {0.3f};
   model->setOperandValue(param33, param33_init, sizeof(float) * 1);
-  static float param34_init[] = {0.4f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static float param38_init[] = {2.0f};
+  static float param36_init[] = {0.4f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {0.3f};
   model->setOperandValue(param38, param38_init, sizeof(float) * 1);
-  static float param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static float param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -8578,23 +8632,26 @@
   auto roi = model->addOperand(&type68);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type4);
-  auto param34 = model->addOperand(&type4);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type71);
   auto roiOut = model->addOperand(&type69);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type66);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type4);
-  auto param39 = model->addOperand(&type4);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type4);
+  auto param42 = model->addOperand(&type4);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type80);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type81);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -8605,31 +8662,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static float param33_init[] = {0.3f};
   model->setOperandValue(param33, param33_init, sizeof(float) * 1);
-  static float param34_init[] = {0.4f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static float param38_init[] = {2.0f};
+  static float param36_init[] = {0.4f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {0.3f};
   model->setOperandValue(param38, param38_init, sizeof(float) * 1);
-  static float param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static float param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -8660,23 +8723,26 @@
   auto roi = model->addOperand(&type74);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type29);
-  auto param34 = model->addOperand(&type29);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type29);
+  auto param37 = model->addOperand(&type29);
+  auto param38 = model->addOperand(&type29);
   auto scoresOut = model->addOperand(&type77);
   auto roiOut = model->addOperand(&type75);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type22);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type29);
-  auto param39 = model->addOperand(&type29);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type29);
+  auto param42 = model->addOperand(&type29);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type82);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type83);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -8687,31 +8753,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static _Float16 param33_init[] = {0.30000001192092896f};
   model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
-  static _Float16 param34_init[] = {0.4000000059604645f};
-  model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static _Float16 param38_init[] = {2.0f};
+  static _Float16 param36_init[] = {0.4000000059604645f};
+  model->setOperandValue(param36, param36_init, sizeof(_Float16) * 1);
+  static _Float16 param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static _Float16 param38_init[] = {0.30000001192092896f};
   model->setOperandValue(param38, param38_init, sizeof(_Float16) * 1);
-  static _Float16 param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(_Float16) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static _Float16 param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(_Float16) * 1);
+  static _Float16 param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(_Float16) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -8742,23 +8814,26 @@
   auto roi = model->addOperand(&type12);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type4);
-  auto param34 = model->addOperand(&type4);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type13);
   auto roiOut = model->addOperand(&type15);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type2);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type4);
-  auto param39 = model->addOperand(&type4);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type4);
+  auto param42 = model->addOperand(&type4);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type17);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type26);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -8769,31 +8844,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static float param33_init[] = {0.3f};
   model->setOperandValue(param33, param33_init, sizeof(float) * 1);
-  static float param34_init[] = {0.4f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static float param38_init[] = {2.0f};
+  static float param36_init[] = {0.4f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {0.3f};
   model->setOperandValue(param38, param38_init, sizeof(float) * 1);
-  static float param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static float param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -8824,23 +8905,26 @@
   auto roi = model->addOperand(&type12);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type4);
-  auto param34 = model->addOperand(&type4);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type13);
   auto roiOut = model->addOperand(&type15);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type2);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type4);
-  auto param39 = model->addOperand(&type4);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type4);
+  auto param42 = model->addOperand(&type4);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type17);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type26);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -8851,31 +8935,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static float param33_init[] = {0.3f};
   model->setOperandValue(param33, param33_init, sizeof(float) * 1);
-  static float param34_init[] = {0.4f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static float param38_init[] = {2.0f};
+  static float param36_init[] = {0.4f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {0.3f};
   model->setOperandValue(param38, param38_init, sizeof(float) * 1);
-  static float param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static float param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -8908,23 +8998,26 @@
   auto roi = model->addOperand(&type68);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type4);
-  auto param34 = model->addOperand(&type4);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type71);
   auto roiOut = model->addOperand(&type69);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type66);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type4);
-  auto param39 = model->addOperand(&type4);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type4);
+  auto param42 = model->addOperand(&type4);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type65);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type84);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -8935,31 +9028,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static float param33_init[] = {0.3f};
   model->setOperandValue(param33, param33_init, sizeof(float) * 1);
-  static float param34_init[] = {0.4f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static float param38_init[] = {2.0f};
+  static float param36_init[] = {0.4f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {0.3f};
   model->setOperandValue(param38, param38_init, sizeof(float) * 1);
-  static float param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static float param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -8990,23 +9089,26 @@
   auto roi = model->addOperand(&type74);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type29);
-  auto param34 = model->addOperand(&type29);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type29);
+  auto param37 = model->addOperand(&type29);
+  auto param38 = model->addOperand(&type29);
   auto scoresOut = model->addOperand(&type85);
   auto roiOut = model->addOperand(&type75);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type22);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type29);
-  auto param39 = model->addOperand(&type29);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type29);
+  auto param42 = model->addOperand(&type29);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type72);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type28);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -9017,31 +9119,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static _Float16 param33_init[] = {0.30000001192092896f};
   model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
-  static _Float16 param34_init[] = {0.4000000059604645f};
-  model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static _Float16 param38_init[] = {2.0f};
+  static _Float16 param36_init[] = {0.4000000059604645f};
+  model->setOperandValue(param36, param36_init, sizeof(_Float16) * 1);
+  static _Float16 param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static _Float16 param38_init[] = {0.30000001192092896f};
   model->setOperandValue(param38, param38_init, sizeof(_Float16) * 1);
-  static _Float16 param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(_Float16) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static _Float16 param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(_Float16) * 1);
+  static _Float16 param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(_Float16) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -9072,23 +9180,26 @@
   auto roi = model->addOperand(&type12);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type4);
-  auto param34 = model->addOperand(&type4);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type13);
   auto roiOut = model->addOperand(&type15);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type2);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type4);
-  auto param39 = model->addOperand(&type4);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type4);
+  auto param42 = model->addOperand(&type4);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type78);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type26);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -9099,31 +9210,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static float param33_init[] = {0.3f};
   model->setOperandValue(param33, param33_init, sizeof(float) * 1);
-  static float param34_init[] = {0.4f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static float param38_init[] = {2.0f};
+  static float param36_init[] = {0.4f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {0.3f};
   model->setOperandValue(param38, param38_init, sizeof(float) * 1);
-  static float param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static float param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -9154,23 +9271,26 @@
   auto roi = model->addOperand(&type12);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type4);
-  auto param34 = model->addOperand(&type4);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type13);
   auto roiOut = model->addOperand(&type15);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type2);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type4);
-  auto param39 = model->addOperand(&type4);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type4);
+  auto param42 = model->addOperand(&type4);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type78);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type26);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -9181,31 +9301,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static float param33_init[] = {0.3f};
   model->setOperandValue(param33, param33_init, sizeof(float) * 1);
-  static float param34_init[] = {0.4f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static float param38_init[] = {2.0f};
+  static float param36_init[] = {0.4f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {0.3f};
   model->setOperandValue(param38, param38_init, sizeof(float) * 1);
-  static float param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static float param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -9238,23 +9364,26 @@
   auto roi = model->addOperand(&type68);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type4);
-  auto param34 = model->addOperand(&type4);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type4);
+  auto param37 = model->addOperand(&type4);
+  auto param38 = model->addOperand(&type4);
   auto scoresOut = model->addOperand(&type71);
   auto roiOut = model->addOperand(&type69);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type66);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type4);
-  auto param39 = model->addOperand(&type4);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type4);
+  auto param42 = model->addOperand(&type4);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type80);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type84);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -9265,31 +9394,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static float param33_init[] = {0.3f};
   model->setOperandValue(param33, param33_init, sizeof(float) * 1);
-  static float param34_init[] = {0.4f};
-  model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static float param38_init[] = {2.0f};
+  static float param36_init[] = {0.4f};
+  model->setOperandValue(param36, param36_init, sizeof(float) * 1);
+  static float param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {0.3f};
   model->setOperandValue(param38, param38_init, sizeof(float) * 1);
-  static float param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(float) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static float param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(float) * 1);
+  static float param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(float) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -9320,23 +9455,26 @@
   auto roi = model->addOperand(&type74);
   auto param32 = model->addOperand(&type16);
   auto param33 = model->addOperand(&type29);
-  auto param34 = model->addOperand(&type29);
+  auto param34 = model->addOperand(&type3);
   auto param35 = model->addOperand(&type3);
+  auto param36 = model->addOperand(&type29);
+  auto param37 = model->addOperand(&type29);
+  auto param38 = model->addOperand(&type29);
   auto scoresOut = model->addOperand(&type85);
   auto roiOut = model->addOperand(&type75);
   auto classesOut = model->addOperand(&type14);
   auto batchSplitOut = model->addOperand(&type14);
   auto in8 = model->addOperand(&type22);
-  auto param36 = model->addOperand(&type3);
-  auto param37 = model->addOperand(&type3);
-  auto param38 = model->addOperand(&type29);
-  auto param39 = model->addOperand(&type29);
+  auto param39 = model->addOperand(&type3);
   auto param40 = model->addOperand(&type3);
-  auto param41 = model->addOperand(&type3);
+  auto param41 = model->addOperand(&type29);
+  auto param42 = model->addOperand(&type29);
+  auto param43 = model->addOperand(&type3);
+  auto param44 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type82);
-  auto param42 = model->addOperand(&type3);
-  auto param43 = model->addOperand(&type3);
+  auto param45 = model->addOperand(&type3);
+  auto param46 = model->addOperand(&type3);
   auto out8 = model->addOperand(&type28);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -9347,31 +9485,37 @@
   model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
   static _Float16 param33_init[] = {0.30000001192092896f};
   model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
-  static _Float16 param34_init[] = {0.4000000059604645f};
-  model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static int32_t param35_init[] = {-1};
+  static int32_t param34_init[] = {-1};
+  model->setOperandValue(param34, param34_init, sizeof(int32_t) * 1);
+  static int32_t param35_init[] = {0};
   model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
-  static int32_t param36_init[] = {2};
-  model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {2};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
-  static _Float16 param38_init[] = {2.0f};
+  static _Float16 param36_init[] = {0.4000000059604645f};
+  model->setOperandValue(param36, param36_init, sizeof(_Float16) * 1);
+  static _Float16 param37_init[] = {1.0f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static _Float16 param38_init[] = {0.30000001192092896f};
   model->setOperandValue(param38, param38_init, sizeof(_Float16) * 1);
-  static _Float16 param39_init[] = {2.0f};
-  model->setOperandValue(param39, param39_init, sizeof(_Float16) * 1);
-  static int32_t param40_init[] = {4};
+  static int32_t param39_init[] = {2};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {2};
   model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
-  static int32_t param41_init[] = {4};
-  model->setOperandValue(param41, param41_init, sizeof(int32_t) * 1);
+  static _Float16 param41_init[] = {2.0f};
+  model->setOperandValue(param41, param41_init, sizeof(_Float16) * 1);
+  static _Float16 param42_init[] = {2.0f};
+  model->setOperandValue(param42, param42_init, sizeof(_Float16) * 1);
+  static int32_t param43_init[] = {4};
+  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
+  static int32_t param44_init[] = {4};
+  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param42_init[] = {3};
-  model->setOperandValue(param42, param42_init, sizeof(int32_t) * 1);
-  static int32_t param43_init[] = {3};
-  model->setOperandValue(param43, param43_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param36, param37, param38, param39, param40, param41, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param42, param43, layout}, {out8});
+  static int32_t param45_init[] = {3};
+  model->setOperandValue(param45, param45_init, sizeof(int32_t) * 1);
+  static int32_t param46_init[] = {3};
+  model->setOperandValue(param46, param46_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param32, param33, param34, param35, param36, param37, param38}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in8, roiOut, batchSplitOut, param39, param40, param41, param42, param43, param44, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap, param45, param46, layout}, {out8});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in8},
@@ -9400,60 +9544,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type11);
   auto roi1 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type4);
-  auto param46 = model->addOperand(&type4);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type4);
+  auto param52 = model->addOperand(&type4);
+  auto param53 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type13);
   auto roiOut1 = model->addOperand(&type15);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type4);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type17);
-  auto param54 = model->addOperand(&type4);
-  auto param55 = model->addOperand(&type4);
+  auto param60 = model->addOperand(&type4);
+  auto param61 = model->addOperand(&type4);
   auto out9 = model->addOperand(&type18);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static float param45_init[] = {0.3f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static float param46_init[] = {0.4f};
-  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static float param48_init[] = {0.3f};
+  model->setOperandValue(param48, param48_init, sizeof(float) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static float param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static float param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {0.4f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static float param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static float param53_init[] = {0.3f};
+  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static float param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(float) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param54_init[] = {1.6f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static float param55_init[] = {1.6f};
-  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static float param60_init[] = {1.6f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {1.6f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -9482,60 +9635,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type11);
   auto roi1 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type4);
-  auto param46 = model->addOperand(&type4);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type4);
+  auto param52 = model->addOperand(&type4);
+  auto param53 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type13);
   auto roiOut1 = model->addOperand(&type15);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type4);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type17);
-  auto param54 = model->addOperand(&type4);
-  auto param55 = model->addOperand(&type4);
+  auto param60 = model->addOperand(&type4);
+  auto param61 = model->addOperand(&type4);
   auto out9 = model->addOperand(&type18);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static float param45_init[] = {0.3f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static float param46_init[] = {0.4f};
-  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static float param48_init[] = {0.3f};
+  model->setOperandValue(param48, param48_init, sizeof(float) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static float param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static float param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {0.4f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static float param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static float param53_init[] = {0.3f};
+  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static float param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(float) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param54_init[] = {1.6f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static float param55_init[] = {1.6f};
-  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static float param60_init[] = {1.6f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {1.6f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -9566,60 +9728,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type70);
   auto roi1 = model->addOperand(&type68);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type4);
-  auto param46 = model->addOperand(&type4);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type4);
+  auto param52 = model->addOperand(&type4);
+  auto param53 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type71);
   auto roiOut1 = model->addOperand(&type69);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type66);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type4);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type65);
-  auto param54 = model->addOperand(&type4);
-  auto param55 = model->addOperand(&type4);
+  auto param60 = model->addOperand(&type4);
+  auto param61 = model->addOperand(&type4);
   auto out9 = model->addOperand(&type67);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static float param45_init[] = {0.3f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static float param46_init[] = {0.4f};
-  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static float param48_init[] = {0.3f};
+  model->setOperandValue(param48, param48_init, sizeof(float) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static float param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static float param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {0.4f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static float param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static float param53_init[] = {0.3f};
+  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static float param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(float) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param54_init[] = {1.6f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static float param55_init[] = {1.6f};
-  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static float param60_init[] = {1.6f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {1.6f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -9648,60 +9819,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type76);
   auto roi1 = model->addOperand(&type74);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type29);
-  auto param46 = model->addOperand(&type29);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type29);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type29);
+  auto param52 = model->addOperand(&type29);
+  auto param53 = model->addOperand(&type29);
   auto scoresOut1 = model->addOperand(&type77);
   auto roiOut1 = model->addOperand(&type75);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type22);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type29);
-  auto param51 = model->addOperand(&type29);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type29);
+  auto param57 = model->addOperand(&type29);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type72);
-  auto param54 = model->addOperand(&type29);
-  auto param55 = model->addOperand(&type29);
+  auto param60 = model->addOperand(&type29);
+  auto param61 = model->addOperand(&type29);
   auto out9 = model->addOperand(&type73);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static _Float16 param45_init[] = {0.30000001192092896f};
-  model->setOperandValue(param45, param45_init, sizeof(_Float16) * 1);
-  static _Float16 param46_init[] = {0.4000000059604645f};
-  model->setOperandValue(param46, param46_init, sizeof(_Float16) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static _Float16 param48_init[] = {0.30000001192092896f};
+  model->setOperandValue(param48, param48_init, sizeof(_Float16) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static _Float16 param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(_Float16) * 1);
-  static _Float16 param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static _Float16 param51_init[] = {0.4000000059604645f};
   model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static _Float16 param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
+  static _Float16 param53_init[] = {0.30000001192092896f};
+  model->setOperandValue(param53, param53_init, sizeof(_Float16) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static _Float16 param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(_Float16) * 1);
+  static _Float16 param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(_Float16) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static _Float16 param54_init[] = {1.600000023841858f};
-  model->setOperandValue(param54, param54_init, sizeof(_Float16) * 1);
-  static _Float16 param55_init[] = {1.600000023841858f};
-  model->setOperandValue(param55, param55_init, sizeof(_Float16) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static _Float16 param60_init[] = {1.600000023841858f};
+  model->setOperandValue(param60, param60_init, sizeof(_Float16) * 1);
+  static _Float16 param61_init[] = {1.600000023841858f};
+  model->setOperandValue(param61, param61_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -9730,60 +9910,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type11);
   auto roi1 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type4);
-  auto param46 = model->addOperand(&type4);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type4);
+  auto param52 = model->addOperand(&type4);
+  auto param53 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type13);
   auto roiOut1 = model->addOperand(&type15);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type4);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type78);
-  auto param54 = model->addOperand(&type4);
-  auto param55 = model->addOperand(&type4);
+  auto param60 = model->addOperand(&type4);
+  auto param61 = model->addOperand(&type4);
   auto out9 = model->addOperand(&type79);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static float param45_init[] = {0.3f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static float param46_init[] = {0.4f};
-  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static float param48_init[] = {0.3f};
+  model->setOperandValue(param48, param48_init, sizeof(float) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static float param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static float param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {0.4f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static float param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static float param53_init[] = {0.3f};
+  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static float param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(float) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param54_init[] = {1.6f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static float param55_init[] = {1.6f};
-  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static float param60_init[] = {1.6f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {1.6f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -9812,60 +10001,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type11);
   auto roi1 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type4);
-  auto param46 = model->addOperand(&type4);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type4);
+  auto param52 = model->addOperand(&type4);
+  auto param53 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type13);
   auto roiOut1 = model->addOperand(&type15);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type4);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type78);
-  auto param54 = model->addOperand(&type4);
-  auto param55 = model->addOperand(&type4);
+  auto param60 = model->addOperand(&type4);
+  auto param61 = model->addOperand(&type4);
   auto out9 = model->addOperand(&type79);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static float param45_init[] = {0.3f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static float param46_init[] = {0.4f};
-  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static float param48_init[] = {0.3f};
+  model->setOperandValue(param48, param48_init, sizeof(float) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static float param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static float param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {0.4f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static float param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static float param53_init[] = {0.3f};
+  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static float param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(float) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param54_init[] = {1.6f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static float param55_init[] = {1.6f};
-  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static float param60_init[] = {1.6f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {1.6f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -9896,60 +10094,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type70);
   auto roi1 = model->addOperand(&type68);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type4);
-  auto param46 = model->addOperand(&type4);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type4);
+  auto param52 = model->addOperand(&type4);
+  auto param53 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type71);
   auto roiOut1 = model->addOperand(&type69);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type66);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type4);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type80);
-  auto param54 = model->addOperand(&type4);
-  auto param55 = model->addOperand(&type4);
+  auto param60 = model->addOperand(&type4);
+  auto param61 = model->addOperand(&type4);
   auto out9 = model->addOperand(&type81);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static float param45_init[] = {0.3f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static float param46_init[] = {0.4f};
-  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static float param48_init[] = {0.3f};
+  model->setOperandValue(param48, param48_init, sizeof(float) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static float param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static float param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {0.4f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static float param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static float param53_init[] = {0.3f};
+  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static float param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(float) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param54_init[] = {1.6f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static float param55_init[] = {1.6f};
-  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static float param60_init[] = {1.6f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {1.6f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -9978,60 +10185,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type76);
   auto roi1 = model->addOperand(&type74);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type29);
-  auto param46 = model->addOperand(&type29);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type29);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type29);
+  auto param52 = model->addOperand(&type29);
+  auto param53 = model->addOperand(&type29);
   auto scoresOut1 = model->addOperand(&type77);
   auto roiOut1 = model->addOperand(&type75);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type22);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type29);
-  auto param51 = model->addOperand(&type29);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type29);
+  auto param57 = model->addOperand(&type29);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type82);
-  auto param54 = model->addOperand(&type29);
-  auto param55 = model->addOperand(&type29);
+  auto param60 = model->addOperand(&type29);
+  auto param61 = model->addOperand(&type29);
   auto out9 = model->addOperand(&type83);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static _Float16 param45_init[] = {0.30000001192092896f};
-  model->setOperandValue(param45, param45_init, sizeof(_Float16) * 1);
-  static _Float16 param46_init[] = {0.4000000059604645f};
-  model->setOperandValue(param46, param46_init, sizeof(_Float16) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static _Float16 param48_init[] = {0.30000001192092896f};
+  model->setOperandValue(param48, param48_init, sizeof(_Float16) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static _Float16 param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(_Float16) * 1);
-  static _Float16 param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static _Float16 param51_init[] = {0.4000000059604645f};
   model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static _Float16 param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
+  static _Float16 param53_init[] = {0.30000001192092896f};
+  model->setOperandValue(param53, param53_init, sizeof(_Float16) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static _Float16 param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(_Float16) * 1);
+  static _Float16 param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(_Float16) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static _Float16 param54_init[] = {1.600000023841858f};
-  model->setOperandValue(param54, param54_init, sizeof(_Float16) * 1);
-  static _Float16 param55_init[] = {1.600000023841858f};
-  model->setOperandValue(param55, param55_init, sizeof(_Float16) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static _Float16 param60_init[] = {1.600000023841858f};
+  model->setOperandValue(param60, param60_init, sizeof(_Float16) * 1);
+  static _Float16 param61_init[] = {1.600000023841858f};
+  model->setOperandValue(param61, param61_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -10060,60 +10276,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type11);
   auto roi1 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type4);
-  auto param46 = model->addOperand(&type4);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type4);
+  auto param52 = model->addOperand(&type4);
+  auto param53 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type13);
   auto roiOut1 = model->addOperand(&type15);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type4);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type17);
-  auto param54 = model->addOperand(&type4);
-  auto param55 = model->addOperand(&type4);
+  auto param60 = model->addOperand(&type4);
+  auto param61 = model->addOperand(&type4);
   auto out9 = model->addOperand(&type26);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static float param45_init[] = {0.3f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static float param46_init[] = {0.4f};
-  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static float param48_init[] = {0.3f};
+  model->setOperandValue(param48, param48_init, sizeof(float) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static float param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static float param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {0.4f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static float param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static float param53_init[] = {0.3f};
+  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static float param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(float) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param54_init[] = {1.6f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static float param55_init[] = {1.6f};
-  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static float param60_init[] = {1.6f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {1.6f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -10142,60 +10367,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type11);
   auto roi1 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type4);
-  auto param46 = model->addOperand(&type4);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type4);
+  auto param52 = model->addOperand(&type4);
+  auto param53 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type13);
   auto roiOut1 = model->addOperand(&type15);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type4);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type17);
-  auto param54 = model->addOperand(&type4);
-  auto param55 = model->addOperand(&type4);
+  auto param60 = model->addOperand(&type4);
+  auto param61 = model->addOperand(&type4);
   auto out9 = model->addOperand(&type26);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static float param45_init[] = {0.3f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static float param46_init[] = {0.4f};
-  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static float param48_init[] = {0.3f};
+  model->setOperandValue(param48, param48_init, sizeof(float) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static float param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static float param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {0.4f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static float param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static float param53_init[] = {0.3f};
+  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static float param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(float) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param54_init[] = {1.6f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static float param55_init[] = {1.6f};
-  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static float param60_init[] = {1.6f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {1.6f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -10226,60 +10460,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type70);
   auto roi1 = model->addOperand(&type68);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type4);
-  auto param46 = model->addOperand(&type4);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type4);
+  auto param52 = model->addOperand(&type4);
+  auto param53 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type71);
   auto roiOut1 = model->addOperand(&type69);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type66);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type4);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type65);
-  auto param54 = model->addOperand(&type4);
-  auto param55 = model->addOperand(&type4);
+  auto param60 = model->addOperand(&type4);
+  auto param61 = model->addOperand(&type4);
   auto out9 = model->addOperand(&type84);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static float param45_init[] = {0.3f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static float param46_init[] = {0.4f};
-  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static float param48_init[] = {0.3f};
+  model->setOperandValue(param48, param48_init, sizeof(float) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static float param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static float param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {0.4f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static float param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static float param53_init[] = {0.3f};
+  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static float param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(float) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param54_init[] = {1.6f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static float param55_init[] = {1.6f};
-  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static float param60_init[] = {1.6f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {1.6f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -10308,60 +10551,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type76);
   auto roi1 = model->addOperand(&type74);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type29);
-  auto param46 = model->addOperand(&type29);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type29);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type29);
+  auto param52 = model->addOperand(&type29);
+  auto param53 = model->addOperand(&type29);
   auto scoresOut1 = model->addOperand(&type85);
   auto roiOut1 = model->addOperand(&type75);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type22);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type29);
-  auto param51 = model->addOperand(&type29);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type29);
+  auto param57 = model->addOperand(&type29);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type72);
-  auto param54 = model->addOperand(&type29);
-  auto param55 = model->addOperand(&type29);
+  auto param60 = model->addOperand(&type29);
+  auto param61 = model->addOperand(&type29);
   auto out9 = model->addOperand(&type28);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static _Float16 param45_init[] = {0.30000001192092896f};
-  model->setOperandValue(param45, param45_init, sizeof(_Float16) * 1);
-  static _Float16 param46_init[] = {0.4000000059604645f};
-  model->setOperandValue(param46, param46_init, sizeof(_Float16) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static _Float16 param48_init[] = {0.30000001192092896f};
+  model->setOperandValue(param48, param48_init, sizeof(_Float16) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static _Float16 param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(_Float16) * 1);
-  static _Float16 param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static _Float16 param51_init[] = {0.4000000059604645f};
   model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static _Float16 param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
+  static _Float16 param53_init[] = {0.30000001192092896f};
+  model->setOperandValue(param53, param53_init, sizeof(_Float16) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static _Float16 param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(_Float16) * 1);
+  static _Float16 param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(_Float16) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static _Float16 param54_init[] = {1.600000023841858f};
-  model->setOperandValue(param54, param54_init, sizeof(_Float16) * 1);
-  static _Float16 param55_init[] = {1.600000023841858f};
-  model->setOperandValue(param55, param55_init, sizeof(_Float16) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static _Float16 param60_init[] = {1.600000023841858f};
+  model->setOperandValue(param60, param60_init, sizeof(_Float16) * 1);
+  static _Float16 param61_init[] = {1.600000023841858f};
+  model->setOperandValue(param61, param61_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -10390,60 +10642,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type11);
   auto roi1 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type4);
-  auto param46 = model->addOperand(&type4);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type4);
+  auto param52 = model->addOperand(&type4);
+  auto param53 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type13);
   auto roiOut1 = model->addOperand(&type15);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type4);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type78);
-  auto param54 = model->addOperand(&type4);
-  auto param55 = model->addOperand(&type4);
+  auto param60 = model->addOperand(&type4);
+  auto param61 = model->addOperand(&type4);
   auto out9 = model->addOperand(&type26);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static float param45_init[] = {0.3f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static float param46_init[] = {0.4f};
-  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static float param48_init[] = {0.3f};
+  model->setOperandValue(param48, param48_init, sizeof(float) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static float param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static float param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {0.4f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static float param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static float param53_init[] = {0.3f};
+  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static float param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(float) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param54_init[] = {1.6f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static float param55_init[] = {1.6f};
-  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static float param60_init[] = {1.6f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {1.6f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -10472,60 +10733,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type11);
   auto roi1 = model->addOperand(&type12);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type4);
-  auto param46 = model->addOperand(&type4);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type4);
+  auto param52 = model->addOperand(&type4);
+  auto param53 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type13);
   auto roiOut1 = model->addOperand(&type15);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type2);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type4);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type78);
-  auto param54 = model->addOperand(&type4);
-  auto param55 = model->addOperand(&type4);
+  auto param60 = model->addOperand(&type4);
+  auto param61 = model->addOperand(&type4);
   auto out9 = model->addOperand(&type26);
   // Phase 2, operations
   static float scores1_init[] = {0.9f, 0.1f};
   model->setOperandValue(scores1, scores1_init, sizeof(float) * 2);
   static float roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(float) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static float param45_init[] = {0.3f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static float param46_init[] = {0.4f};
-  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static float param48_init[] = {0.3f};
+  model->setOperandValue(param48, param48_init, sizeof(float) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static float param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static float param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {0.4f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static float param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static float param53_init[] = {0.3f};
+  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static float param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(float) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param54_init[] = {1.6f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static float param55_init[] = {1.6f};
-  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static float param60_init[] = {1.6f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {1.6f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -10556,60 +10826,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type70);
   auto roi1 = model->addOperand(&type68);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type4);
-  auto param46 = model->addOperand(&type4);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type4);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type4);
+  auto param52 = model->addOperand(&type4);
+  auto param53 = model->addOperand(&type4);
   auto scoresOut1 = model->addOperand(&type71);
   auto roiOut1 = model->addOperand(&type69);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type66);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type4);
-  auto param51 = model->addOperand(&type4);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type4);
+  auto param57 = model->addOperand(&type4);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type80);
-  auto param54 = model->addOperand(&type4);
-  auto param55 = model->addOperand(&type4);
+  auto param60 = model->addOperand(&type4);
+  auto param61 = model->addOperand(&type4);
   auto out9 = model->addOperand(&type84);
   // Phase 2, operations
   static uint8_t scores1_init[] = {137, 129};
   model->setOperandValue(scores1, scores1_init, sizeof(uint8_t) * 2);
   static uint16_t roi1_init[] = {8, 8, 80, 80, 0, 0, 80, 80};
   model->setOperandValue(roi1, roi1_init, sizeof(uint16_t) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static float param45_init[] = {0.3f};
-  model->setOperandValue(param45, param45_init, sizeof(float) * 1);
-  static float param46_init[] = {0.4f};
-  model->setOperandValue(param46, param46_init, sizeof(float) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static float param48_init[] = {0.3f};
+  model->setOperandValue(param48, param48_init, sizeof(float) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static float param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(float) * 1);
-  static float param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static float param51_init[] = {0.4f};
   model->setOperandValue(param51, param51_init, sizeof(float) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static float param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(float) * 1);
+  static float param53_init[] = {0.3f};
+  model->setOperandValue(param53, param53_init, sizeof(float) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static float param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(float) * 1);
+  static float param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(float) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param54_init[] = {1.6f};
-  model->setOperandValue(param54, param54_init, sizeof(float) * 1);
-  static float param55_init[] = {1.6f};
-  model->setOperandValue(param55, param55_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static float param60_init[] = {1.6f};
+  model->setOperandValue(param60, param60_init, sizeof(float) * 1);
+  static float param61_init[] = {1.6f};
+  model->setOperandValue(param61, param61_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
@@ -10638,60 +10917,69 @@
   // Phase 1, operands
   auto scores1 = model->addOperand(&type76);
   auto roi1 = model->addOperand(&type74);
-  auto param44 = model->addOperand(&type16);
-  auto param45 = model->addOperand(&type29);
-  auto param46 = model->addOperand(&type29);
-  auto param47 = model->addOperand(&type3);
+  auto param47 = model->addOperand(&type16);
+  auto param48 = model->addOperand(&type29);
+  auto param49 = model->addOperand(&type3);
+  auto param50 = model->addOperand(&type3);
+  auto param51 = model->addOperand(&type29);
+  auto param52 = model->addOperand(&type29);
+  auto param53 = model->addOperand(&type29);
   auto scoresOut1 = model->addOperand(&type85);
   auto roiOut1 = model->addOperand(&type75);
   auto classesOut1 = model->addOperand(&type14);
   auto batchSplitOut1 = model->addOperand(&type14);
   auto in9 = model->addOperand(&type22);
-  auto param48 = model->addOperand(&type3);
-  auto param49 = model->addOperand(&type3);
-  auto param50 = model->addOperand(&type29);
-  auto param51 = model->addOperand(&type29);
-  auto param52 = model->addOperand(&type3);
-  auto param53 = model->addOperand(&type3);
+  auto param54 = model->addOperand(&type3);
+  auto param55 = model->addOperand(&type3);
+  auto param56 = model->addOperand(&type29);
+  auto param57 = model->addOperand(&type29);
+  auto param58 = model->addOperand(&type3);
+  auto param59 = model->addOperand(&type3);
   auto layout = model->addOperand(&type0);
   auto featureMap1 = model->addOperand(&type82);
-  auto param54 = model->addOperand(&type29);
-  auto param55 = model->addOperand(&type29);
+  auto param60 = model->addOperand(&type29);
+  auto param61 = model->addOperand(&type29);
   auto out9 = model->addOperand(&type28);
   // Phase 2, operations
   static _Float16 scores1_init[] = {0.8999999761581421f, 0.10000000149011612f};
   model->setOperandValue(scores1, scores1_init, sizeof(_Float16) * 2);
   static _Float16 roi1_init[] = {1.0f, 1.0f, 10.0f, 10.0f, 0.0f, 0.0f, 10.0f, 10.0f};
   model->setOperandValue(roi1, roi1_init, sizeof(_Float16) * 8);
-  static int32_t param44_init[] = {0};
-  model->setOperandValue(param44, param44_init, sizeof(int32_t) * 1);
-  static _Float16 param45_init[] = {0.30000001192092896f};
-  model->setOperandValue(param45, param45_init, sizeof(_Float16) * 1);
-  static _Float16 param46_init[] = {0.4000000059604645f};
-  model->setOperandValue(param46, param46_init, sizeof(_Float16) * 1);
-  static int32_t param47_init[] = {-1};
+  static int32_t param47_init[] = {0};
   model->setOperandValue(param47, param47_init, sizeof(int32_t) * 1);
-  static int32_t param48_init[] = {2};
-  model->setOperandValue(param48, param48_init, sizeof(int32_t) * 1);
-  static int32_t param49_init[] = {2};
+  static _Float16 param48_init[] = {0.30000001192092896f};
+  model->setOperandValue(param48, param48_init, sizeof(_Float16) * 1);
+  static int32_t param49_init[] = {-1};
   model->setOperandValue(param49, param49_init, sizeof(int32_t) * 1);
-  static _Float16 param50_init[] = {2.0f};
-  model->setOperandValue(param50, param50_init, sizeof(_Float16) * 1);
-  static _Float16 param51_init[] = {2.0f};
+  static int32_t param50_init[] = {0};
+  model->setOperandValue(param50, param50_init, sizeof(int32_t) * 1);
+  static _Float16 param51_init[] = {0.4000000059604645f};
   model->setOperandValue(param51, param51_init, sizeof(_Float16) * 1);
-  static int32_t param52_init[] = {4};
-  model->setOperandValue(param52, param52_init, sizeof(int32_t) * 1);
-  static int32_t param53_init[] = {4};
-  model->setOperandValue(param53, param53_init, sizeof(int32_t) * 1);
+  static _Float16 param52_init[] = {1.0f};
+  model->setOperandValue(param52, param52_init, sizeof(_Float16) * 1);
+  static _Float16 param53_init[] = {0.30000001192092896f};
+  model->setOperandValue(param53, param53_init, sizeof(_Float16) * 1);
+  static int32_t param54_init[] = {2};
+  model->setOperandValue(param54, param54_init, sizeof(int32_t) * 1);
+  static int32_t param55_init[] = {2};
+  model->setOperandValue(param55, param55_init, sizeof(int32_t) * 1);
+  static _Float16 param56_init[] = {2.0f};
+  model->setOperandValue(param56, param56_init, sizeof(_Float16) * 1);
+  static _Float16 param57_init[] = {2.0f};
+  model->setOperandValue(param57, param57_init, sizeof(_Float16) * 1);
+  static int32_t param58_init[] = {4};
+  model->setOperandValue(param58, param58_init, sizeof(int32_t) * 1);
+  static int32_t param59_init[] = {4};
+  model->setOperandValue(param59, param59_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static _Float16 param54_init[] = {1.600000023841858f};
-  model->setOperandValue(param54, param54_init, sizeof(_Float16) * 1);
-  static _Float16 param55_init[] = {1.600000023841858f};
-  model->setOperandValue(param55, param55_init, sizeof(_Float16) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param44, param45, param46, param47}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param48, param49, param50, param51, param52, param53, layout}, {featureMap1});
-  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param54, param55, layout}, {out9});
+  static _Float16 param60_init[] = {1.600000023841858f};
+  model->setOperandValue(param60, param60_init, sizeof(_Float16) * 1);
+  static _Float16 param61_init[] = {1.600000023841858f};
+  model->setOperandValue(param61, param61_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores1, roi1, param47, param48, param49, param50, param51, param52, param53}, {scoresOut1, roiOut1, classesOut1, batchSplitOut1});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in9, roiOut1, batchSplitOut1, param54, param55, param56, param57, param58, param59, layout}, {featureMap1});
+  model->addOperation(ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR, {featureMap1, param60, param61, layout}, {out9});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in9},
diff --git a/runtime/test/generated/models/roi_align.model.cpp b/runtime/test/generated/models/roi_align.model.cpp
index 210d365..b16a3f7 100644
--- a/runtime/test/generated/models/roi_align.model.cpp
+++ b/runtime/test/generated/models/roi_align.model.cpp
@@ -3249,19 +3249,22 @@
   auto roi4 = model->addOperand(&type15);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type6);
-  auto param30 = model->addOperand(&type6);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type6);
+  auto param33 = model->addOperand(&type6);
+  auto param34 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type16);
   auto roiOut = model->addOperand(&type18);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type20);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type6);
-  auto param35 = model->addOperand(&type6);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type6);
+  auto param38 = model->addOperand(&type6);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type21);
   // Phase 2, operations
@@ -3273,26 +3276,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static float param29_init[] = {0.3f};
   model->setOperandValue(param29, param29_init, sizeof(float) * 1);
-  static float param30_init[] = {0.4f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static float param34_init[] = {2.0f};
+  static float param32_init[] = {0.4f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -3322,19 +3331,22 @@
   auto roi4 = model->addOperand(&type15);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type6);
-  auto param30 = model->addOperand(&type6);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type6);
+  auto param33 = model->addOperand(&type6);
+  auto param34 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type16);
   auto roiOut = model->addOperand(&type18);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type20);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type6);
-  auto param35 = model->addOperand(&type6);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type6);
+  auto param38 = model->addOperand(&type6);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type21);
   // Phase 2, operations
@@ -3346,26 +3358,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static float param29_init[] = {0.3f};
   model->setOperandValue(param29, param29_init, sizeof(float) * 1);
-  static float param30_init[] = {0.4f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static float param34_init[] = {2.0f};
+  static float param32_init[] = {0.4f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -3397,19 +3415,22 @@
   auto roi4 = model->addOperand(&type68);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type6);
-  auto param30 = model->addOperand(&type6);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type6);
+  auto param33 = model->addOperand(&type6);
+  auto param34 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type71);
   auto roiOut = model->addOperand(&type69);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type67);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type6);
-  auto param35 = model->addOperand(&type6);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type6);
+  auto param38 = model->addOperand(&type6);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type66);
   // Phase 2, operations
@@ -3421,26 +3442,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static float param29_init[] = {0.3f};
   model->setOperandValue(param29, param29_init, sizeof(float) * 1);
-  static float param30_init[] = {0.4f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static float param34_init[] = {2.0f};
+  static float param32_init[] = {0.4f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -3470,19 +3497,22 @@
   auto roi4 = model->addOperand(&type74);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type27);
-  auto param30 = model->addOperand(&type27);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type27);
+  auto param33 = model->addOperand(&type27);
+  auto param34 = model->addOperand(&type27);
   auto scoresOut = model->addOperand(&type77);
   auto roiOut = model->addOperand(&type75);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type73);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type27);
-  auto param35 = model->addOperand(&type27);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type27);
+  auto param38 = model->addOperand(&type27);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type72);
   // Phase 2, operations
@@ -3494,26 +3524,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static _Float16 param29_init[] = {0.30000001192092896f};
   model->setOperandValue(param29, param29_init, sizeof(_Float16) * 1);
-  static _Float16 param30_init[] = {0.4000000059604645f};
-  model->setOperandValue(param30, param30_init, sizeof(_Float16) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static _Float16 param34_init[] = {2.0f};
+  static _Float16 param32_init[] = {0.4000000059604645f};
+  model->setOperandValue(param32, param32_init, sizeof(_Float16) * 1);
+  static _Float16 param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
+  static _Float16 param34_init[] = {0.30000001192092896f};
   model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static _Float16 param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(_Float16) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static _Float16 param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static _Float16 param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(_Float16) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -3543,19 +3579,22 @@
   auto roi4 = model->addOperand(&type15);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type6);
-  auto param30 = model->addOperand(&type6);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type6);
+  auto param33 = model->addOperand(&type6);
+  auto param34 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type16);
   auto roiOut = model->addOperand(&type18);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type20);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type6);
-  auto param35 = model->addOperand(&type6);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type6);
+  auto param38 = model->addOperand(&type6);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type78);
   // Phase 2, operations
@@ -3567,26 +3606,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static float param29_init[] = {0.3f};
   model->setOperandValue(param29, param29_init, sizeof(float) * 1);
-  static float param30_init[] = {0.4f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static float param34_init[] = {2.0f};
+  static float param32_init[] = {0.4f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -3616,19 +3661,22 @@
   auto roi4 = model->addOperand(&type15);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type6);
-  auto param30 = model->addOperand(&type6);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type6);
+  auto param33 = model->addOperand(&type6);
+  auto param34 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type16);
   auto roiOut = model->addOperand(&type18);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type20);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type6);
-  auto param35 = model->addOperand(&type6);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type6);
+  auto param38 = model->addOperand(&type6);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type78);
   // Phase 2, operations
@@ -3640,26 +3688,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static float param29_init[] = {0.3f};
   model->setOperandValue(param29, param29_init, sizeof(float) * 1);
-  static float param30_init[] = {0.4f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static float param34_init[] = {2.0f};
+  static float param32_init[] = {0.4f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -3691,19 +3745,22 @@
   auto roi4 = model->addOperand(&type68);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type6);
-  auto param30 = model->addOperand(&type6);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type6);
+  auto param33 = model->addOperand(&type6);
+  auto param34 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type71);
   auto roiOut = model->addOperand(&type69);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type67);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type6);
-  auto param35 = model->addOperand(&type6);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type6);
+  auto param38 = model->addOperand(&type6);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type79);
   // Phase 2, operations
@@ -3715,26 +3772,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static float param29_init[] = {0.3f};
   model->setOperandValue(param29, param29_init, sizeof(float) * 1);
-  static float param30_init[] = {0.4f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static float param34_init[] = {2.0f};
+  static float param32_init[] = {0.4f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -3764,19 +3827,22 @@
   auto roi4 = model->addOperand(&type74);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type27);
-  auto param30 = model->addOperand(&type27);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type27);
+  auto param33 = model->addOperand(&type27);
+  auto param34 = model->addOperand(&type27);
   auto scoresOut = model->addOperand(&type77);
   auto roiOut = model->addOperand(&type75);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type73);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type27);
-  auto param35 = model->addOperand(&type27);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type27);
+  auto param38 = model->addOperand(&type27);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type80);
   // Phase 2, operations
@@ -3788,26 +3854,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static _Float16 param29_init[] = {0.30000001192092896f};
   model->setOperandValue(param29, param29_init, sizeof(_Float16) * 1);
-  static _Float16 param30_init[] = {0.4000000059604645f};
-  model->setOperandValue(param30, param30_init, sizeof(_Float16) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static _Float16 param34_init[] = {2.0f};
+  static _Float16 param32_init[] = {0.4000000059604645f};
+  model->setOperandValue(param32, param32_init, sizeof(_Float16) * 1);
+  static _Float16 param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
+  static _Float16 param34_init[] = {0.30000001192092896f};
   model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static _Float16 param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(_Float16) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static _Float16 param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static _Float16 param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(_Float16) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -3837,19 +3909,22 @@
   auto roi4 = model->addOperand(&type15);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type6);
-  auto param30 = model->addOperand(&type6);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type6);
+  auto param33 = model->addOperand(&type6);
+  auto param34 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type16);
   auto roiOut = model->addOperand(&type18);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type20);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type6);
-  auto param35 = model->addOperand(&type6);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type6);
+  auto param38 = model->addOperand(&type6);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type35);
   // Phase 2, operations
@@ -3861,26 +3936,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static float param29_init[] = {0.3f};
   model->setOperandValue(param29, param29_init, sizeof(float) * 1);
-  static float param30_init[] = {0.4f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static float param34_init[] = {2.0f};
+  static float param32_init[] = {0.4f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -3910,19 +3991,22 @@
   auto roi4 = model->addOperand(&type15);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type6);
-  auto param30 = model->addOperand(&type6);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type6);
+  auto param33 = model->addOperand(&type6);
+  auto param34 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type16);
   auto roiOut = model->addOperand(&type18);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type20);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type6);
-  auto param35 = model->addOperand(&type6);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type6);
+  auto param38 = model->addOperand(&type6);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type35);
   // Phase 2, operations
@@ -3934,26 +4018,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static float param29_init[] = {0.3f};
   model->setOperandValue(param29, param29_init, sizeof(float) * 1);
-  static float param30_init[] = {0.4f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static float param34_init[] = {2.0f};
+  static float param32_init[] = {0.4f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -3985,19 +4075,22 @@
   auto roi4 = model->addOperand(&type68);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type6);
-  auto param30 = model->addOperand(&type6);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type6);
+  auto param33 = model->addOperand(&type6);
+  auto param34 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type71);
   auto roiOut = model->addOperand(&type69);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type67);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type6);
-  auto param35 = model->addOperand(&type6);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type6);
+  auto param38 = model->addOperand(&type6);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type81);
   // Phase 2, operations
@@ -4009,26 +4102,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static float param29_init[] = {0.3f};
   model->setOperandValue(param29, param29_init, sizeof(float) * 1);
-  static float param30_init[] = {0.4f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static float param34_init[] = {2.0f};
+  static float param32_init[] = {0.4f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -4058,19 +4157,22 @@
   auto roi4 = model->addOperand(&type74);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type27);
-  auto param30 = model->addOperand(&type27);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type27);
+  auto param33 = model->addOperand(&type27);
+  auto param34 = model->addOperand(&type27);
   auto scoresOut = model->addOperand(&type82);
   auto roiOut = model->addOperand(&type75);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type73);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type27);
-  auto param35 = model->addOperand(&type27);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type27);
+  auto param38 = model->addOperand(&type27);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type37);
   // Phase 2, operations
@@ -4082,26 +4184,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static _Float16 param29_init[] = {0.30000001192092896f};
   model->setOperandValue(param29, param29_init, sizeof(_Float16) * 1);
-  static _Float16 param30_init[] = {0.4000000059604645f};
-  model->setOperandValue(param30, param30_init, sizeof(_Float16) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static _Float16 param34_init[] = {2.0f};
+  static _Float16 param32_init[] = {0.4000000059604645f};
+  model->setOperandValue(param32, param32_init, sizeof(_Float16) * 1);
+  static _Float16 param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
+  static _Float16 param34_init[] = {0.30000001192092896f};
   model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static _Float16 param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(_Float16) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static _Float16 param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static _Float16 param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(_Float16) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -4131,19 +4239,22 @@
   auto roi4 = model->addOperand(&type15);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type6);
-  auto param30 = model->addOperand(&type6);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type6);
+  auto param33 = model->addOperand(&type6);
+  auto param34 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type16);
   auto roiOut = model->addOperand(&type18);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type20);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type6);
-  auto param35 = model->addOperand(&type6);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type6);
+  auto param38 = model->addOperand(&type6);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type35);
   // Phase 2, operations
@@ -4155,26 +4266,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static float param29_init[] = {0.3f};
   model->setOperandValue(param29, param29_init, sizeof(float) * 1);
-  static float param30_init[] = {0.4f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static float param34_init[] = {2.0f};
+  static float param32_init[] = {0.4f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -4204,19 +4321,22 @@
   auto roi4 = model->addOperand(&type15);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type6);
-  auto param30 = model->addOperand(&type6);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type6);
+  auto param33 = model->addOperand(&type6);
+  auto param34 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type16);
   auto roiOut = model->addOperand(&type18);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type20);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type6);
-  auto param35 = model->addOperand(&type6);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type6);
+  auto param38 = model->addOperand(&type6);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type35);
   // Phase 2, operations
@@ -4228,26 +4348,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static float param29_init[] = {0.3f};
   model->setOperandValue(param29, param29_init, sizeof(float) * 1);
-  static float param30_init[] = {0.4f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static float param34_init[] = {2.0f};
+  static float param32_init[] = {0.4f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -4279,19 +4405,22 @@
   auto roi4 = model->addOperand(&type68);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type6);
-  auto param30 = model->addOperand(&type6);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type6);
+  auto param33 = model->addOperand(&type6);
+  auto param34 = model->addOperand(&type6);
   auto scoresOut = model->addOperand(&type71);
   auto roiOut = model->addOperand(&type69);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type67);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type6);
-  auto param35 = model->addOperand(&type6);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type6);
+  auto param38 = model->addOperand(&type6);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type81);
   // Phase 2, operations
@@ -4303,26 +4432,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static float param29_init[] = {0.3f};
   model->setOperandValue(param29, param29_init, sizeof(float) * 1);
-  static float param30_init[] = {0.4f};
-  model->setOperandValue(param30, param30_init, sizeof(float) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static float param34_init[] = {2.0f};
+  static float param32_init[] = {0.4f};
+  model->setOperandValue(param32, param32_init, sizeof(float) * 1);
+  static float param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(float) * 1);
+  static float param34_init[] = {0.3f};
   model->setOperandValue(param34, param34_init, sizeof(float) * 1);
-  static float param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(float) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static float param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(float) * 1);
+  static float param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(float) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
@@ -4352,19 +4487,22 @@
   auto roi4 = model->addOperand(&type74);
   auto param28 = model->addOperand(&type19);
   auto param29 = model->addOperand(&type27);
-  auto param30 = model->addOperand(&type27);
+  auto param30 = model->addOperand(&type5);
   auto param31 = model->addOperand(&type5);
+  auto param32 = model->addOperand(&type27);
+  auto param33 = model->addOperand(&type27);
+  auto param34 = model->addOperand(&type27);
   auto scoresOut = model->addOperand(&type82);
   auto roiOut = model->addOperand(&type75);
   auto classesOut = model->addOperand(&type17);
   auto batchSplitOut = model->addOperand(&type17);
   auto in4 = model->addOperand(&type73);
-  auto param32 = model->addOperand(&type5);
-  auto param33 = model->addOperand(&type5);
-  auto param34 = model->addOperand(&type27);
-  auto param35 = model->addOperand(&type27);
+  auto param35 = model->addOperand(&type5);
   auto param36 = model->addOperand(&type5);
-  auto param37 = model->addOperand(&type5);
+  auto param37 = model->addOperand(&type27);
+  auto param38 = model->addOperand(&type27);
+  auto param39 = model->addOperand(&type5);
+  auto param40 = model->addOperand(&type5);
   auto layout = model->addOperand(&type0);
   auto featureMap = model->addOperand(&type37);
   // Phase 2, operations
@@ -4376,26 +4514,32 @@
   model->setOperandValue(param28, param28_init, sizeof(int32_t) * 1);
   static _Float16 param29_init[] = {0.30000001192092896f};
   model->setOperandValue(param29, param29_init, sizeof(_Float16) * 1);
-  static _Float16 param30_init[] = {0.4000000059604645f};
-  model->setOperandValue(param30, param30_init, sizeof(_Float16) * 1);
-  static int32_t param31_init[] = {-1};
+  static int32_t param30_init[] = {-1};
+  model->setOperandValue(param30, param30_init, sizeof(int32_t) * 1);
+  static int32_t param31_init[] = {0};
   model->setOperandValue(param31, param31_init, sizeof(int32_t) * 1);
-  static int32_t param32_init[] = {2};
-  model->setOperandValue(param32, param32_init, sizeof(int32_t) * 1);
-  static int32_t param33_init[] = {2};
-  model->setOperandValue(param33, param33_init, sizeof(int32_t) * 1);
-  static _Float16 param34_init[] = {2.0f};
+  static _Float16 param32_init[] = {0.4000000059604645f};
+  model->setOperandValue(param32, param32_init, sizeof(_Float16) * 1);
+  static _Float16 param33_init[] = {1.0f};
+  model->setOperandValue(param33, param33_init, sizeof(_Float16) * 1);
+  static _Float16 param34_init[] = {0.30000001192092896f};
   model->setOperandValue(param34, param34_init, sizeof(_Float16) * 1);
-  static _Float16 param35_init[] = {2.0f};
-  model->setOperandValue(param35, param35_init, sizeof(_Float16) * 1);
-  static int32_t param36_init[] = {4};
+  static int32_t param35_init[] = {2};
+  model->setOperandValue(param35, param35_init, sizeof(int32_t) * 1);
+  static int32_t param36_init[] = {2};
   model->setOperandValue(param36, param36_init, sizeof(int32_t) * 1);
-  static int32_t param37_init[] = {4};
-  model->setOperandValue(param37, param37_init, sizeof(int32_t) * 1);
+  static _Float16 param37_init[] = {2.0f};
+  model->setOperandValue(param37, param37_init, sizeof(_Float16) * 1);
+  static _Float16 param38_init[] = {2.0f};
+  model->setOperandValue(param38, param38_init, sizeof(_Float16) * 1);
+  static int32_t param39_init[] = {4};
+  model->setOperandValue(param39, param39_init, sizeof(int32_t) * 1);
+  static int32_t param40_init[] = {4};
+  model->setOperandValue(param40, param40_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {true};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param32, param33, param34, param35, param36, param37, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi4, param28, param29, param30, param31, param32, param33, param34}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in4, roiOut, batchSplitOut, param35, param36, param37, param38, param39, param40, layout}, {featureMap});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in4},
diff --git a/runtime/test/generated/models/slice.model.cpp b/runtime/test/generated/models/slice.model.cpp
index 9d905dc..562aed5 100644
--- a/runtime/test/generated/models/slice.model.cpp
+++ b/runtime/test/generated/models/slice.model.cpp
@@ -1152,23 +1152,26 @@
   auto roi = model->addOperand(&type16);
   auto param = model->addOperand(&type20);
   auto param1 = model->addOperand(&type21);
-  auto param2 = model->addOperand(&type21);
+  auto param2 = model->addOperand(&type22);
   auto param3 = model->addOperand(&type22);
+  auto param4 = model->addOperand(&type21);
+  auto param5 = model->addOperand(&type21);
+  auto param6 = model->addOperand(&type21);
   auto scoresOut = model->addOperand(&type17);
   auto roiOut = model->addOperand(&type19);
   auto classesOut = model->addOperand(&type18);
   auto batchSplitOut = model->addOperand(&type18);
   auto in = model->addOperand(&type24);
-  auto param4 = model->addOperand(&type22);
-  auto param5 = model->addOperand(&type22);
-  auto param6 = model->addOperand(&type21);
-  auto param7 = model->addOperand(&type21);
+  auto param7 = model->addOperand(&type22);
   auto param8 = model->addOperand(&type22);
-  auto param9 = model->addOperand(&type22);
+  auto param9 = model->addOperand(&type21);
+  auto param10 = model->addOperand(&type21);
+  auto param11 = model->addOperand(&type22);
+  auto param12 = model->addOperand(&type22);
   auto layout = model->addOperand(&type23);
   auto featureMap = model->addOperand(&type25);
-  auto param10 = model->addOperand(&type27);
-  auto param11 = model->addOperand(&type27);
+  auto param13 = model->addOperand(&type27);
+  auto param14 = model->addOperand(&type27);
   auto out = model->addOperand(&type26);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -1179,31 +1182,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 1, 1, 0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  static int32_t param11_init[] = {-1, 1, -1, 1};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param10, param11}, {out});
+  static int32_t param13_init[] = {0, 1, 1, 0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  static int32_t param14_init[] = {-1, 1, -1, 1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param13, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1235,23 +1244,26 @@
   auto roi = model->addOperand(&type16);
   auto param = model->addOperand(&type20);
   auto param1 = model->addOperand(&type21);
-  auto param2 = model->addOperand(&type21);
+  auto param2 = model->addOperand(&type22);
   auto param3 = model->addOperand(&type22);
+  auto param4 = model->addOperand(&type21);
+  auto param5 = model->addOperand(&type21);
+  auto param6 = model->addOperand(&type21);
   auto scoresOut = model->addOperand(&type17);
   auto roiOut = model->addOperand(&type19);
   auto classesOut = model->addOperand(&type18);
   auto batchSplitOut = model->addOperand(&type18);
   auto in = model->addOperand(&type24);
-  auto param4 = model->addOperand(&type22);
-  auto param5 = model->addOperand(&type22);
-  auto param6 = model->addOperand(&type21);
-  auto param7 = model->addOperand(&type21);
+  auto param7 = model->addOperand(&type22);
   auto param8 = model->addOperand(&type22);
-  auto param9 = model->addOperand(&type22);
+  auto param9 = model->addOperand(&type21);
+  auto param10 = model->addOperand(&type21);
+  auto param11 = model->addOperand(&type22);
+  auto param12 = model->addOperand(&type22);
   auto layout = model->addOperand(&type23);
   auto featureMap = model->addOperand(&type25);
-  auto param10 = model->addOperand(&type27);
-  auto param11 = model->addOperand(&type27);
+  auto param13 = model->addOperand(&type27);
+  auto param14 = model->addOperand(&type27);
   auto out = model->addOperand(&type26);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -1262,31 +1274,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 1, 1, 0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  static int32_t param11_init[] = {-1, 1, -1, 1};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param10, param11}, {out});
+  static int32_t param13_init[] = {0, 1, 1, 0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  static int32_t param14_init[] = {-1, 1, -1, 1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param13, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1320,23 +1338,26 @@
   auto roi = model->addOperand(&type47);
   auto param = model->addOperand(&type20);
   auto param1 = model->addOperand(&type21);
-  auto param2 = model->addOperand(&type21);
+  auto param2 = model->addOperand(&type22);
   auto param3 = model->addOperand(&type22);
+  auto param4 = model->addOperand(&type21);
+  auto param5 = model->addOperand(&type21);
+  auto param6 = model->addOperand(&type21);
   auto scoresOut = model->addOperand(&type50);
   auto roiOut = model->addOperand(&type48);
   auto classesOut = model->addOperand(&type18);
   auto batchSplitOut = model->addOperand(&type18);
   auto in = model->addOperand(&type45);
-  auto param4 = model->addOperand(&type22);
-  auto param5 = model->addOperand(&type22);
-  auto param6 = model->addOperand(&type21);
-  auto param7 = model->addOperand(&type21);
+  auto param7 = model->addOperand(&type22);
   auto param8 = model->addOperand(&type22);
-  auto param9 = model->addOperand(&type22);
+  auto param9 = model->addOperand(&type21);
+  auto param10 = model->addOperand(&type21);
+  auto param11 = model->addOperand(&type22);
+  auto param12 = model->addOperand(&type22);
   auto layout = model->addOperand(&type23);
   auto featureMap = model->addOperand(&type44);
-  auto param10 = model->addOperand(&type27);
-  auto param11 = model->addOperand(&type27);
+  auto param13 = model->addOperand(&type27);
+  auto param14 = model->addOperand(&type27);
   auto out = model->addOperand(&type46);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -1347,31 +1368,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 1, 1, 0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  static int32_t param11_init[] = {-1, 1, -1, 1};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param10, param11}, {out});
+  static int32_t param13_init[] = {0, 1, 1, 0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  static int32_t param14_init[] = {-1, 1, -1, 1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param13, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1403,23 +1430,26 @@
   auto roi = model->addOperand(&type55);
   auto param = model->addOperand(&type20);
   auto param1 = model->addOperand(&type54);
-  auto param2 = model->addOperand(&type54);
+  auto param2 = model->addOperand(&type22);
   auto param3 = model->addOperand(&type22);
+  auto param4 = model->addOperand(&type54);
+  auto param5 = model->addOperand(&type54);
+  auto param6 = model->addOperand(&type54);
   auto scoresOut = model->addOperand(&type57);
   auto roiOut = model->addOperand(&type56);
   auto classesOut = model->addOperand(&type18);
   auto batchSplitOut = model->addOperand(&type18);
   auto in = model->addOperand(&type52);
-  auto param4 = model->addOperand(&type22);
-  auto param5 = model->addOperand(&type22);
-  auto param6 = model->addOperand(&type54);
-  auto param7 = model->addOperand(&type54);
+  auto param7 = model->addOperand(&type22);
   auto param8 = model->addOperand(&type22);
-  auto param9 = model->addOperand(&type22);
+  auto param9 = model->addOperand(&type54);
+  auto param10 = model->addOperand(&type54);
+  auto param11 = model->addOperand(&type22);
+  auto param12 = model->addOperand(&type22);
   auto layout = model->addOperand(&type23);
   auto featureMap = model->addOperand(&type51);
-  auto param10 = model->addOperand(&type27);
-  auto param11 = model->addOperand(&type27);
+  auto param13 = model->addOperand(&type27);
+  auto param14 = model->addOperand(&type27);
   auto out = model->addOperand(&type53);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -1430,31 +1460,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 1, 1, 0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  static int32_t param11_init[] = {-1, 1, -1, 1};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param10, param11}, {out});
+  static int32_t param13_init[] = {0, 1, 1, 0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  static int32_t param14_init[] = {-1, 1, -1, 1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param13, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1486,23 +1522,26 @@
   auto roi = model->addOperand(&type16);
   auto param = model->addOperand(&type20);
   auto param1 = model->addOperand(&type21);
-  auto param2 = model->addOperand(&type21);
+  auto param2 = model->addOperand(&type22);
   auto param3 = model->addOperand(&type22);
+  auto param4 = model->addOperand(&type21);
+  auto param5 = model->addOperand(&type21);
+  auto param6 = model->addOperand(&type21);
   auto scoresOut = model->addOperand(&type17);
   auto roiOut = model->addOperand(&type19);
   auto classesOut = model->addOperand(&type18);
   auto batchSplitOut = model->addOperand(&type18);
   auto in = model->addOperand(&type24);
-  auto param4 = model->addOperand(&type22);
-  auto param5 = model->addOperand(&type22);
-  auto param6 = model->addOperand(&type21);
-  auto param7 = model->addOperand(&type21);
+  auto param7 = model->addOperand(&type22);
   auto param8 = model->addOperand(&type22);
-  auto param9 = model->addOperand(&type22);
+  auto param9 = model->addOperand(&type21);
+  auto param10 = model->addOperand(&type21);
+  auto param11 = model->addOperand(&type22);
+  auto param12 = model->addOperand(&type22);
   auto layout = model->addOperand(&type23);
   auto featureMap = model->addOperand(&type25);
-  auto param10 = model->addOperand(&type27);
-  auto param11 = model->addOperand(&type27);
+  auto param13 = model->addOperand(&type27);
+  auto param14 = model->addOperand(&type27);
   auto out = model->addOperand(&type40);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -1513,31 +1552,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 1, 1, 0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  static int32_t param11_init[] = {-1, 1, -1, 1};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param10, param11}, {out});
+  static int32_t param13_init[] = {0, 1, 1, 0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  static int32_t param14_init[] = {-1, 1, -1, 1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param13, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1569,23 +1614,26 @@
   auto roi = model->addOperand(&type16);
   auto param = model->addOperand(&type20);
   auto param1 = model->addOperand(&type21);
-  auto param2 = model->addOperand(&type21);
+  auto param2 = model->addOperand(&type22);
   auto param3 = model->addOperand(&type22);
+  auto param4 = model->addOperand(&type21);
+  auto param5 = model->addOperand(&type21);
+  auto param6 = model->addOperand(&type21);
   auto scoresOut = model->addOperand(&type17);
   auto roiOut = model->addOperand(&type19);
   auto classesOut = model->addOperand(&type18);
   auto batchSplitOut = model->addOperand(&type18);
   auto in = model->addOperand(&type24);
-  auto param4 = model->addOperand(&type22);
-  auto param5 = model->addOperand(&type22);
-  auto param6 = model->addOperand(&type21);
-  auto param7 = model->addOperand(&type21);
+  auto param7 = model->addOperand(&type22);
   auto param8 = model->addOperand(&type22);
-  auto param9 = model->addOperand(&type22);
+  auto param9 = model->addOperand(&type21);
+  auto param10 = model->addOperand(&type21);
+  auto param11 = model->addOperand(&type22);
+  auto param12 = model->addOperand(&type22);
   auto layout = model->addOperand(&type23);
   auto featureMap = model->addOperand(&type25);
-  auto param10 = model->addOperand(&type27);
-  auto param11 = model->addOperand(&type27);
+  auto param13 = model->addOperand(&type27);
+  auto param14 = model->addOperand(&type27);
   auto out = model->addOperand(&type40);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -1596,31 +1644,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 1, 1, 0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  static int32_t param11_init[] = {-1, 1, -1, 1};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param10, param11}, {out});
+  static int32_t param13_init[] = {0, 1, 1, 0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  static int32_t param14_init[] = {-1, 1, -1, 1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param13, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1654,23 +1708,26 @@
   auto roi = model->addOperand(&type47);
   auto param = model->addOperand(&type20);
   auto param1 = model->addOperand(&type21);
-  auto param2 = model->addOperand(&type21);
+  auto param2 = model->addOperand(&type22);
   auto param3 = model->addOperand(&type22);
+  auto param4 = model->addOperand(&type21);
+  auto param5 = model->addOperand(&type21);
+  auto param6 = model->addOperand(&type21);
   auto scoresOut = model->addOperand(&type50);
   auto roiOut = model->addOperand(&type48);
   auto classesOut = model->addOperand(&type18);
   auto batchSplitOut = model->addOperand(&type18);
   auto in = model->addOperand(&type45);
-  auto param4 = model->addOperand(&type22);
-  auto param5 = model->addOperand(&type22);
-  auto param6 = model->addOperand(&type21);
-  auto param7 = model->addOperand(&type21);
+  auto param7 = model->addOperand(&type22);
   auto param8 = model->addOperand(&type22);
-  auto param9 = model->addOperand(&type22);
+  auto param9 = model->addOperand(&type21);
+  auto param10 = model->addOperand(&type21);
+  auto param11 = model->addOperand(&type22);
+  auto param12 = model->addOperand(&type22);
   auto layout = model->addOperand(&type23);
   auto featureMap = model->addOperand(&type44);
-  auto param10 = model->addOperand(&type27);
-  auto param11 = model->addOperand(&type27);
+  auto param13 = model->addOperand(&type27);
+  auto param14 = model->addOperand(&type27);
   auto out = model->addOperand(&type58);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -1681,31 +1738,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 1, 1, 0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  static int32_t param11_init[] = {-1, 1, -1, 1};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param10, param11}, {out});
+  static int32_t param13_init[] = {0, 1, 1, 0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  static int32_t param14_init[] = {-1, 1, -1, 1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param13, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1737,23 +1800,26 @@
   auto roi = model->addOperand(&type55);
   auto param = model->addOperand(&type20);
   auto param1 = model->addOperand(&type54);
-  auto param2 = model->addOperand(&type54);
+  auto param2 = model->addOperand(&type22);
   auto param3 = model->addOperand(&type22);
+  auto param4 = model->addOperand(&type54);
+  auto param5 = model->addOperand(&type54);
+  auto param6 = model->addOperand(&type54);
   auto scoresOut = model->addOperand(&type30);
   auto roiOut = model->addOperand(&type56);
   auto classesOut = model->addOperand(&type18);
   auto batchSplitOut = model->addOperand(&type18);
   auto in = model->addOperand(&type52);
-  auto param4 = model->addOperand(&type22);
-  auto param5 = model->addOperand(&type22);
-  auto param6 = model->addOperand(&type54);
-  auto param7 = model->addOperand(&type54);
+  auto param7 = model->addOperand(&type22);
   auto param8 = model->addOperand(&type22);
-  auto param9 = model->addOperand(&type22);
+  auto param9 = model->addOperand(&type54);
+  auto param10 = model->addOperand(&type54);
+  auto param11 = model->addOperand(&type22);
+  auto param12 = model->addOperand(&type22);
   auto layout = model->addOperand(&type23);
   auto featureMap = model->addOperand(&type51);
-  auto param10 = model->addOperand(&type27);
-  auto param11 = model->addOperand(&type27);
+  auto param13 = model->addOperand(&type27);
+  auto param14 = model->addOperand(&type27);
   auto out = model->addOperand(&type41);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -1764,31 +1830,37 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 1, 1, 0};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  static int32_t param11_init[] = {-1, 1, -1, 1};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param10, param11}, {out});
+  static int32_t param13_init[] = {0, 1, 1, 0};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  static int32_t param14_init[] = {-1, 1, -1, 1};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SLICE, {featureMap, param13, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
diff --git a/runtime/test/generated/models/softmax_v1_2.model.cpp b/runtime/test/generated/models/softmax_v1_2.model.cpp
index 9c68777..b62cdb4 100644
--- a/runtime/test/generated/models/softmax_v1_2.model.cpp
+++ b/runtime/test/generated/models/softmax_v1_2.model.cpp
@@ -10175,22 +10175,25 @@
   auto roi = model->addOperand(&type4);
   auto param4 = model->addOperand(&type8);
   auto param5 = model->addOperand(&type2);
-  auto param6 = model->addOperand(&type2);
+  auto param6 = model->addOperand(&type1);
   auto param7 = model->addOperand(&type1);
+  auto param8 = model->addOperand(&type2);
+  auto param9 = model->addOperand(&type2);
+  auto param10 = model->addOperand(&type2);
   auto scoresOut = model->addOperand(&type5);
   auto roiOut = model->addOperand(&type7);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type10);
-  auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type2);
-  auto param11 = model->addOperand(&type2);
+  auto param11 = model->addOperand(&type1);
   auto param12 = model->addOperand(&type1);
-  auto param13 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type2);
+  auto param14 = model->addOperand(&type2);
+  auto param15 = model->addOperand(&type1);
+  auto param16 = model->addOperand(&type1);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type11);
-  auto param14 = model->addOperand(&type2);
+  auto param17 = model->addOperand(&type2);
   auto out = model->addOperand(&type11);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -10201,29 +10204,35 @@
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
   static float param5_init[] = {0.3f};
   model->setOperandValue(param5, param5_init, sizeof(float) * 1);
-  static float param6_init[] = {0.4f};
-  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static int32_t param7_init[] = {-1};
+  static int32_t param6_init[] = {-1};
+  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
+  static int32_t param7_init[] = {0};
   model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
-  static int32_t param8_init[] = {2};
-  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {2};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static float param10_init[] = {2.0f};
+  static float param8_init[] = {0.4f};
+  model->setOperandValue(param8, param8_init, sizeof(float) * 1);
+  static float param9_init[] = {1.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.3f};
   model->setOperandValue(param10, param10_init, sizeof(float) * 1);
-  static float param11_init[] = {2.0f};
-  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
-  static int32_t param12_init[] = {4};
+  static int32_t param11_init[] = {2};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {2};
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
-  static int32_t param13_init[] = {4};
-  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  static float param13_init[] = {2.0f};
+  model->setOperandValue(param13, param13_init, sizeof(float) * 1);
+  static float param14_init[] = {2.0f};
+  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
+  static int32_t param15_init[] = {4};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {4};
+  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param14_init[] = {1.0f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param14}, {out});
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7, param8, param9, param10}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param11, param12, param13, param14, param15, param16, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param17}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -10253,22 +10262,25 @@
   auto roi = model->addOperand(&type4);
   auto param4 = model->addOperand(&type8);
   auto param5 = model->addOperand(&type2);
-  auto param6 = model->addOperand(&type2);
+  auto param6 = model->addOperand(&type1);
   auto param7 = model->addOperand(&type1);
+  auto param8 = model->addOperand(&type2);
+  auto param9 = model->addOperand(&type2);
+  auto param10 = model->addOperand(&type2);
   auto scoresOut = model->addOperand(&type5);
   auto roiOut = model->addOperand(&type7);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type10);
-  auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type2);
-  auto param11 = model->addOperand(&type2);
+  auto param11 = model->addOperand(&type1);
   auto param12 = model->addOperand(&type1);
-  auto param13 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type2);
+  auto param14 = model->addOperand(&type2);
+  auto param15 = model->addOperand(&type1);
+  auto param16 = model->addOperand(&type1);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type11);
-  auto param14 = model->addOperand(&type2);
+  auto param17 = model->addOperand(&type2);
   auto out = model->addOperand(&type11);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -10279,29 +10291,35 @@
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
   static float param5_init[] = {0.3f};
   model->setOperandValue(param5, param5_init, sizeof(float) * 1);
-  static float param6_init[] = {0.4f};
-  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static int32_t param7_init[] = {-1};
+  static int32_t param6_init[] = {-1};
+  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
+  static int32_t param7_init[] = {0};
   model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
-  static int32_t param8_init[] = {2};
-  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {2};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static float param10_init[] = {2.0f};
+  static float param8_init[] = {0.4f};
+  model->setOperandValue(param8, param8_init, sizeof(float) * 1);
+  static float param9_init[] = {1.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.3f};
   model->setOperandValue(param10, param10_init, sizeof(float) * 1);
-  static float param11_init[] = {2.0f};
-  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
-  static int32_t param12_init[] = {4};
+  static int32_t param11_init[] = {2};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {2};
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
-  static int32_t param13_init[] = {4};
-  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  static float param13_init[] = {2.0f};
+  model->setOperandValue(param13, param13_init, sizeof(float) * 1);
+  static float param14_init[] = {2.0f};
+  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
+  static int32_t param15_init[] = {4};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {4};
+  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param14_init[] = {1.0f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param14}, {out});
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7, param8, param9, param10}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param11, param12, param13, param14, param15, param16, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param17}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -10334,22 +10352,25 @@
   auto roi = model->addOperand(&type67);
   auto param4 = model->addOperand(&type8);
   auto param5 = model->addOperand(&type2);
-  auto param6 = model->addOperand(&type2);
+  auto param6 = model->addOperand(&type1);
   auto param7 = model->addOperand(&type1);
+  auto param8 = model->addOperand(&type2);
+  auto param9 = model->addOperand(&type2);
+  auto param10 = model->addOperand(&type2);
   auto scoresOut = model->addOperand(&type70);
   auto roiOut = model->addOperand(&type68);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type65);
-  auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type2);
-  auto param11 = model->addOperand(&type2);
+  auto param11 = model->addOperand(&type1);
   auto param12 = model->addOperand(&type1);
-  auto param13 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type2);
+  auto param14 = model->addOperand(&type2);
+  auto param15 = model->addOperand(&type1);
+  auto param16 = model->addOperand(&type1);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type64);
-  auto param14 = model->addOperand(&type2);
+  auto param17 = model->addOperand(&type2);
   auto out = model->addOperand(&type66);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -10360,29 +10381,35 @@
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
   static float param5_init[] = {0.3f};
   model->setOperandValue(param5, param5_init, sizeof(float) * 1);
-  static float param6_init[] = {0.4f};
-  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static int32_t param7_init[] = {-1};
+  static int32_t param6_init[] = {-1};
+  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
+  static int32_t param7_init[] = {0};
   model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
-  static int32_t param8_init[] = {2};
-  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {2};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static float param10_init[] = {2.0f};
+  static float param8_init[] = {0.4f};
+  model->setOperandValue(param8, param8_init, sizeof(float) * 1);
+  static float param9_init[] = {1.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.3f};
   model->setOperandValue(param10, param10_init, sizeof(float) * 1);
-  static float param11_init[] = {2.0f};
-  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
-  static int32_t param12_init[] = {4};
+  static int32_t param11_init[] = {2};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {2};
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
-  static int32_t param13_init[] = {4};
-  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  static float param13_init[] = {2.0f};
+  model->setOperandValue(param13, param13_init, sizeof(float) * 1);
+  static float param14_init[] = {2.0f};
+  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
+  static int32_t param15_init[] = {4};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {4};
+  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param14_init[] = {1.0f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param14}, {out});
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7, param8, param9, param10}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param11, param12, param13, param14, param15, param16, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param17}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -10412,22 +10439,25 @@
   auto roi = model->addOperand(&type73);
   auto param4 = model->addOperand(&type8);
   auto param5 = model->addOperand(&type15);
-  auto param6 = model->addOperand(&type15);
+  auto param6 = model->addOperand(&type1);
   auto param7 = model->addOperand(&type1);
+  auto param8 = model->addOperand(&type15);
+  auto param9 = model->addOperand(&type15);
+  auto param10 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type76);
   auto roiOut = model->addOperand(&type74);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type72);
-  auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type15);
-  auto param11 = model->addOperand(&type15);
+  auto param11 = model->addOperand(&type1);
   auto param12 = model->addOperand(&type1);
-  auto param13 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type15);
+  auto param14 = model->addOperand(&type15);
+  auto param15 = model->addOperand(&type1);
+  auto param16 = model->addOperand(&type1);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type71);
-  auto param14 = model->addOperand(&type15);
+  auto param17 = model->addOperand(&type15);
   auto out = model->addOperand(&type71);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -10438,29 +10468,35 @@
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
   static _Float16 param5_init[] = {0.30000001192092896f};
   model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
-  static _Float16 param6_init[] = {0.4000000059604645f};
-  model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static int32_t param7_init[] = {-1};
+  static int32_t param6_init[] = {-1};
+  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
+  static int32_t param7_init[] = {0};
   model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
-  static int32_t param8_init[] = {2};
-  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {2};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static _Float16 param10_init[] = {2.0f};
+  static _Float16 param8_init[] = {0.4000000059604645f};
+  model->setOperandValue(param8, param8_init, sizeof(_Float16) * 1);
+  static _Float16 param9_init[] = {1.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {0.30000001192092896f};
   model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
-  static _Float16 param11_init[] = {2.0f};
-  model->setOperandValue(param11, param11_init, sizeof(_Float16) * 1);
-  static int32_t param12_init[] = {4};
+  static int32_t param11_init[] = {2};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {2};
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
-  static int32_t param13_init[] = {4};
-  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  static _Float16 param13_init[] = {2.0f};
+  model->setOperandValue(param13, param13_init, sizeof(_Float16) * 1);
+  static _Float16 param14_init[] = {2.0f};
+  model->setOperandValue(param14, param14_init, sizeof(_Float16) * 1);
+  static int32_t param15_init[] = {4};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {4};
+  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static _Float16 param14_init[] = {1.0f};
-  model->setOperandValue(param14, param14_init, sizeof(_Float16) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param14}, {out});
+  static _Float16 param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7, param8, param9, param10}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param11, param12, param13, param14, param15, param16, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param17}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -10491,22 +10527,25 @@
   auto roi = model->addOperand(&type4);
   auto param4 = model->addOperand(&type8);
   auto param5 = model->addOperand(&type2);
-  auto param6 = model->addOperand(&type2);
+  auto param6 = model->addOperand(&type1);
   auto param7 = model->addOperand(&type1);
+  auto param8 = model->addOperand(&type2);
+  auto param9 = model->addOperand(&type2);
+  auto param10 = model->addOperand(&type2);
   auto scoresOut = model->addOperand(&type5);
   auto roiOut = model->addOperand(&type7);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type10);
-  auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type2);
-  auto param11 = model->addOperand(&type2);
+  auto param11 = model->addOperand(&type1);
   auto param12 = model->addOperand(&type1);
-  auto param13 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type2);
+  auto param14 = model->addOperand(&type2);
+  auto param15 = model->addOperand(&type1);
+  auto param16 = model->addOperand(&type1);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type11);
-  auto param14 = model->addOperand(&type2);
+  auto param17 = model->addOperand(&type2);
   auto out = model->addOperand(&type25);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -10517,29 +10556,35 @@
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
   static float param5_init[] = {0.3f};
   model->setOperandValue(param5, param5_init, sizeof(float) * 1);
-  static float param6_init[] = {0.4f};
-  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static int32_t param7_init[] = {-1};
+  static int32_t param6_init[] = {-1};
+  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
+  static int32_t param7_init[] = {0};
   model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
-  static int32_t param8_init[] = {2};
-  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {2};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static float param10_init[] = {2.0f};
+  static float param8_init[] = {0.4f};
+  model->setOperandValue(param8, param8_init, sizeof(float) * 1);
+  static float param9_init[] = {1.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.3f};
   model->setOperandValue(param10, param10_init, sizeof(float) * 1);
-  static float param11_init[] = {2.0f};
-  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
-  static int32_t param12_init[] = {4};
+  static int32_t param11_init[] = {2};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {2};
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
-  static int32_t param13_init[] = {4};
-  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  static float param13_init[] = {2.0f};
+  model->setOperandValue(param13, param13_init, sizeof(float) * 1);
+  static float param14_init[] = {2.0f};
+  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
+  static int32_t param15_init[] = {4};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {4};
+  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param14_init[] = {1.0f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param14}, {out});
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7, param8, param9, param10}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param11, param12, param13, param14, param15, param16, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param17}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -10570,22 +10615,25 @@
   auto roi = model->addOperand(&type4);
   auto param4 = model->addOperand(&type8);
   auto param5 = model->addOperand(&type2);
-  auto param6 = model->addOperand(&type2);
+  auto param6 = model->addOperand(&type1);
   auto param7 = model->addOperand(&type1);
+  auto param8 = model->addOperand(&type2);
+  auto param9 = model->addOperand(&type2);
+  auto param10 = model->addOperand(&type2);
   auto scoresOut = model->addOperand(&type5);
   auto roiOut = model->addOperand(&type7);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type10);
-  auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type2);
-  auto param11 = model->addOperand(&type2);
+  auto param11 = model->addOperand(&type1);
   auto param12 = model->addOperand(&type1);
-  auto param13 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type2);
+  auto param14 = model->addOperand(&type2);
+  auto param15 = model->addOperand(&type1);
+  auto param16 = model->addOperand(&type1);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type11);
-  auto param14 = model->addOperand(&type2);
+  auto param17 = model->addOperand(&type2);
   auto out = model->addOperand(&type25);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -10596,29 +10644,35 @@
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
   static float param5_init[] = {0.3f};
   model->setOperandValue(param5, param5_init, sizeof(float) * 1);
-  static float param6_init[] = {0.4f};
-  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static int32_t param7_init[] = {-1};
+  static int32_t param6_init[] = {-1};
+  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
+  static int32_t param7_init[] = {0};
   model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
-  static int32_t param8_init[] = {2};
-  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {2};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static float param10_init[] = {2.0f};
+  static float param8_init[] = {0.4f};
+  model->setOperandValue(param8, param8_init, sizeof(float) * 1);
+  static float param9_init[] = {1.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.3f};
   model->setOperandValue(param10, param10_init, sizeof(float) * 1);
-  static float param11_init[] = {2.0f};
-  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
-  static int32_t param12_init[] = {4};
+  static int32_t param11_init[] = {2};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {2};
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
-  static int32_t param13_init[] = {4};
-  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  static float param13_init[] = {2.0f};
+  model->setOperandValue(param13, param13_init, sizeof(float) * 1);
+  static float param14_init[] = {2.0f};
+  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
+  static int32_t param15_init[] = {4};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {4};
+  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param14_init[] = {1.0f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param14}, {out});
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7, param8, param9, param10}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param11, param12, param13, param14, param15, param16, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param17}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -10651,22 +10705,25 @@
   auto roi = model->addOperand(&type67);
   auto param4 = model->addOperand(&type8);
   auto param5 = model->addOperand(&type2);
-  auto param6 = model->addOperand(&type2);
+  auto param6 = model->addOperand(&type1);
   auto param7 = model->addOperand(&type1);
+  auto param8 = model->addOperand(&type2);
+  auto param9 = model->addOperand(&type2);
+  auto param10 = model->addOperand(&type2);
   auto scoresOut = model->addOperand(&type70);
   auto roiOut = model->addOperand(&type68);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type65);
-  auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type2);
-  auto param11 = model->addOperand(&type2);
+  auto param11 = model->addOperand(&type1);
   auto param12 = model->addOperand(&type1);
-  auto param13 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type2);
+  auto param14 = model->addOperand(&type2);
+  auto param15 = model->addOperand(&type1);
+  auto param16 = model->addOperand(&type1);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type64);
-  auto param14 = model->addOperand(&type2);
+  auto param17 = model->addOperand(&type2);
   auto out = model->addOperand(&type30);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -10677,29 +10734,35 @@
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
   static float param5_init[] = {0.3f};
   model->setOperandValue(param5, param5_init, sizeof(float) * 1);
-  static float param6_init[] = {0.4f};
-  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static int32_t param7_init[] = {-1};
+  static int32_t param6_init[] = {-1};
+  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
+  static int32_t param7_init[] = {0};
   model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
-  static int32_t param8_init[] = {2};
-  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {2};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static float param10_init[] = {2.0f};
+  static float param8_init[] = {0.4f};
+  model->setOperandValue(param8, param8_init, sizeof(float) * 1);
+  static float param9_init[] = {1.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {0.3f};
   model->setOperandValue(param10, param10_init, sizeof(float) * 1);
-  static float param11_init[] = {2.0f};
-  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
-  static int32_t param12_init[] = {4};
+  static int32_t param11_init[] = {2};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {2};
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
-  static int32_t param13_init[] = {4};
-  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  static float param13_init[] = {2.0f};
+  model->setOperandValue(param13, param13_init, sizeof(float) * 1);
+  static float param14_init[] = {2.0f};
+  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
+  static int32_t param15_init[] = {4};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {4};
+  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static float param14_init[] = {1.0f};
-  model->setOperandValue(param14, param14_init, sizeof(float) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param14}, {out});
+  static float param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(float) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7, param8, param9, param10}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param11, param12, param13, param14, param15, param16, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param17}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -10730,22 +10793,25 @@
   auto roi = model->addOperand(&type73);
   auto param4 = model->addOperand(&type8);
   auto param5 = model->addOperand(&type15);
-  auto param6 = model->addOperand(&type15);
+  auto param6 = model->addOperand(&type1);
   auto param7 = model->addOperand(&type1);
+  auto param8 = model->addOperand(&type15);
+  auto param9 = model->addOperand(&type15);
+  auto param10 = model->addOperand(&type15);
   auto scoresOut = model->addOperand(&type28);
   auto roiOut = model->addOperand(&type74);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type72);
-  auto param8 = model->addOperand(&type1);
-  auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type15);
-  auto param11 = model->addOperand(&type15);
+  auto param11 = model->addOperand(&type1);
   auto param12 = model->addOperand(&type1);
-  auto param13 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type15);
+  auto param14 = model->addOperand(&type15);
+  auto param15 = model->addOperand(&type1);
+  auto param16 = model->addOperand(&type1);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type71);
-  auto param14 = model->addOperand(&type15);
+  auto param17 = model->addOperand(&type15);
   auto out = model->addOperand(&type27);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -10756,29 +10822,35 @@
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
   static _Float16 param5_init[] = {0.30000001192092896f};
   model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
-  static _Float16 param6_init[] = {0.4000000059604645f};
-  model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static int32_t param7_init[] = {-1};
+  static int32_t param6_init[] = {-1};
+  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
+  static int32_t param7_init[] = {0};
   model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
-  static int32_t param8_init[] = {2};
-  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {2};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static _Float16 param10_init[] = {2.0f};
+  static _Float16 param8_init[] = {0.4000000059604645f};
+  model->setOperandValue(param8, param8_init, sizeof(_Float16) * 1);
+  static _Float16 param9_init[] = {1.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {0.30000001192092896f};
   model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
-  static _Float16 param11_init[] = {2.0f};
-  model->setOperandValue(param11, param11_init, sizeof(_Float16) * 1);
-  static int32_t param12_init[] = {4};
+  static int32_t param11_init[] = {2};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {2};
   model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
-  static int32_t param13_init[] = {4};
-  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
+  static _Float16 param13_init[] = {2.0f};
+  model->setOperandValue(param13, param13_init, sizeof(_Float16) * 1);
+  static _Float16 param14_init[] = {2.0f};
+  model->setOperandValue(param14, param14_init, sizeof(_Float16) * 1);
+  static int32_t param15_init[] = {4};
+  model->setOperandValue(param15, param15_init, sizeof(int32_t) * 1);
+  static int32_t param16_init[] = {4};
+  model->setOperandValue(param16, param16_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static _Float16 param14_init[] = {1.0f};
-  model->setOperandValue(param14, param14_init, sizeof(_Float16) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param14}, {out});
+  static _Float16 param17_init[] = {1.0f};
+  model->setOperandValue(param17, param17_init, sizeof(_Float16) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param4, param5, param6, param7, param8, param9, param10}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param11, param12, param13, param14, param15, param16, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SOFTMAX, {featureMap, param17}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
diff --git a/runtime/test/generated/models/sub_v1_2.model.cpp b/runtime/test/generated/models/sub_v1_2.model.cpp
index 323e1b1..df86d78 100644
--- a/runtime/test/generated/models/sub_v1_2.model.cpp
+++ b/runtime/test/generated/models/sub_v1_2.model.cpp
@@ -459,23 +459,26 @@
   auto roi = model->addOperand(&type4);
   auto param1 = model->addOperand(&type8);
   auto param2 = model->addOperand(&type9);
-  auto param3 = model->addOperand(&type9);
+  auto param3 = model->addOperand(&type1);
   auto param4 = model->addOperand(&type1);
+  auto param5 = model->addOperand(&type9);
+  auto param6 = model->addOperand(&type9);
+  auto param7 = model->addOperand(&type9);
   auto scoresOut = model->addOperand(&type5);
   auto roiOut = model->addOperand(&type7);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type11);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type1);
-  auto param7 = model->addOperand(&type9);
-  auto param8 = model->addOperand(&type9);
+  auto param8 = model->addOperand(&type1);
   auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type1);
+  auto param10 = model->addOperand(&type9);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto op = model->addOperand(&type0);
-  auto param11 = model->addOperand(&type1);
+  auto param14 = model->addOperand(&type1);
   auto out = model->addOperand(&type12);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -486,31 +489,37 @@
   model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
   static float param2_init[] = {0.3f};
   model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static float param3_init[] = {0.4f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static int32_t param4_init[] = {-1};
+  static int32_t param3_init[] = {-1};
+  model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
+  static int32_t param4_init[] = {0};
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static int32_t param6_init[] = {2};
-  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
-  static float param7_init[] = {2.0f};
+  static float param5_init[] = {0.4f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {1.0f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static float param7_init[] = {0.3f};
   model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static float param8_init[] = {2.0f};
-  model->setOperandValue(param8, param8_init, sizeof(float) * 1);
-  static int32_t param9_init[] = {4};
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static int32_t param9_init[] = {2};
   model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static int32_t param10_init[] = {4};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {2.0f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
+  static int32_t param13_init[] = {4};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param5, param6, param7, param8, param9, param10, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param11}, {out});
+  static int32_t param14_init[] = {0};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -541,23 +550,26 @@
   auto roi = model->addOperand(&type4);
   auto param1 = model->addOperand(&type8);
   auto param2 = model->addOperand(&type9);
-  auto param3 = model->addOperand(&type9);
+  auto param3 = model->addOperand(&type1);
   auto param4 = model->addOperand(&type1);
+  auto param5 = model->addOperand(&type9);
+  auto param6 = model->addOperand(&type9);
+  auto param7 = model->addOperand(&type9);
   auto scoresOut = model->addOperand(&type5);
   auto roiOut = model->addOperand(&type7);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type11);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type1);
-  auto param7 = model->addOperand(&type9);
-  auto param8 = model->addOperand(&type9);
+  auto param8 = model->addOperand(&type1);
   auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type1);
+  auto param10 = model->addOperand(&type9);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto op = model->addOperand(&type0);
-  auto param11 = model->addOperand(&type1);
+  auto param14 = model->addOperand(&type1);
   auto out = model->addOperand(&type12);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -568,31 +580,37 @@
   model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
   static float param2_init[] = {0.3f};
   model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static float param3_init[] = {0.4f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static int32_t param4_init[] = {-1};
+  static int32_t param3_init[] = {-1};
+  model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
+  static int32_t param4_init[] = {0};
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static int32_t param6_init[] = {2};
-  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
-  static float param7_init[] = {2.0f};
+  static float param5_init[] = {0.4f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {1.0f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static float param7_init[] = {0.3f};
   model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static float param8_init[] = {2.0f};
-  model->setOperandValue(param8, param8_init, sizeof(float) * 1);
-  static int32_t param9_init[] = {4};
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static int32_t param9_init[] = {2};
   model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static int32_t param10_init[] = {4};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {2.0f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
+  static int32_t param13_init[] = {4};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param5, param6, param7, param8, param9, param10, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param11}, {out});
+  static int32_t param14_init[] = {0};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -625,23 +643,26 @@
   auto roi = model->addOperand(&type20);
   auto param1 = model->addOperand(&type8);
   auto param2 = model->addOperand(&type9);
-  auto param3 = model->addOperand(&type9);
+  auto param3 = model->addOperand(&type1);
   auto param4 = model->addOperand(&type1);
+  auto param5 = model->addOperand(&type9);
+  auto param6 = model->addOperand(&type9);
+  auto param7 = model->addOperand(&type9);
   auto scoresOut = model->addOperand(&type23);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type18);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type1);
-  auto param7 = model->addOperand(&type9);
-  auto param8 = model->addOperand(&type9);
+  auto param8 = model->addOperand(&type1);
   auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type1);
+  auto param10 = model->addOperand(&type9);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type17);
   auto op = model->addOperand(&type19);
-  auto param11 = model->addOperand(&type1);
+  auto param14 = model->addOperand(&type1);
   auto out = model->addOperand(&type17);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -652,31 +673,37 @@
   model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
   static float param2_init[] = {0.3f};
   model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static float param3_init[] = {0.4f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static int32_t param4_init[] = {-1};
+  static int32_t param3_init[] = {-1};
+  model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
+  static int32_t param4_init[] = {0};
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static int32_t param6_init[] = {2};
-  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
-  static float param7_init[] = {2.0f};
+  static float param5_init[] = {0.4f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {1.0f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static float param7_init[] = {0.3f};
   model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static float param8_init[] = {2.0f};
-  model->setOperandValue(param8, param8_init, sizeof(float) * 1);
-  static int32_t param9_init[] = {4};
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static int32_t param9_init[] = {2};
   model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static int32_t param10_init[] = {4};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {2.0f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
+  static int32_t param13_init[] = {4};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t op_init[] = {138, 148, 158, 168};
   model->setOperandValue(op, op_init, sizeof(uint8_t) * 4);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param5, param6, param7, param8, param9, param10, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param11}, {out});
+  static int32_t param14_init[] = {0};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -707,23 +734,26 @@
   auto roi = model->addOperand(&type27);
   auto param1 = model->addOperand(&type8);
   auto param2 = model->addOperand(&type26);
-  auto param3 = model->addOperand(&type26);
+  auto param3 = model->addOperand(&type1);
   auto param4 = model->addOperand(&type1);
+  auto param5 = model->addOperand(&type26);
+  auto param6 = model->addOperand(&type26);
+  auto param7 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type30);
   auto roiOut = model->addOperand(&type28);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type25);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type1);
-  auto param7 = model->addOperand(&type26);
-  auto param8 = model->addOperand(&type26);
+  auto param8 = model->addOperand(&type1);
   auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type1);
+  auto param10 = model->addOperand(&type26);
+  auto param11 = model->addOperand(&type26);
+  auto param12 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type24);
   auto op = model->addOperand(&type13);
-  auto param11 = model->addOperand(&type1);
+  auto param14 = model->addOperand(&type1);
   auto out = model->addOperand(&type24);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -734,31 +764,37 @@
   model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
   static _Float16 param2_init[] = {0.30000001192092896f};
   model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static _Float16 param3_init[] = {0.4000000059604645f};
-  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
-  static int32_t param4_init[] = {-1};
+  static int32_t param3_init[] = {-1};
+  model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
+  static int32_t param4_init[] = {0};
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static int32_t param6_init[] = {2};
-  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
-  static _Float16 param7_init[] = {2.0f};
+  static _Float16 param5_init[] = {0.4000000059604645f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {1.0f};
+  model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
+  static _Float16 param7_init[] = {0.30000001192092896f};
   model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static _Float16 param8_init[] = {2.0f};
-  model->setOperandValue(param8, param8_init, sizeof(_Float16) * 1);
-  static int32_t param9_init[] = {4};
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static int32_t param9_init[] = {2};
   model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static int32_t param10_init[] = {4};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static _Float16 param11_init[] = {2.0f};
+  model->setOperandValue(param11, param11_init, sizeof(_Float16) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
+  static int32_t param13_init[] = {4};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(_Float16) * 4);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param5, param6, param7, param8, param9, param10, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param11}, {out});
+  static int32_t param14_init[] = {0};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -790,23 +826,26 @@
   auto roi = model->addOperand(&type4);
   auto param1 = model->addOperand(&type8);
   auto param2 = model->addOperand(&type9);
-  auto param3 = model->addOperand(&type9);
+  auto param3 = model->addOperand(&type1);
   auto param4 = model->addOperand(&type1);
+  auto param5 = model->addOperand(&type9);
+  auto param6 = model->addOperand(&type9);
+  auto param7 = model->addOperand(&type9);
   auto scoresOut = model->addOperand(&type5);
   auto roiOut = model->addOperand(&type7);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type11);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type1);
-  auto param7 = model->addOperand(&type9);
-  auto param8 = model->addOperand(&type9);
+  auto param8 = model->addOperand(&type1);
   auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type1);
+  auto param10 = model->addOperand(&type9);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto op = model->addOperand(&type0);
-  auto param11 = model->addOperand(&type1);
+  auto param14 = model->addOperand(&type1);
   auto out = model->addOperand(&type14);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -817,31 +856,37 @@
   model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
   static float param2_init[] = {0.3f};
   model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static float param3_init[] = {0.4f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static int32_t param4_init[] = {-1};
+  static int32_t param3_init[] = {-1};
+  model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
+  static int32_t param4_init[] = {0};
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static int32_t param6_init[] = {2};
-  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
-  static float param7_init[] = {2.0f};
+  static float param5_init[] = {0.4f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {1.0f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static float param7_init[] = {0.3f};
   model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static float param8_init[] = {2.0f};
-  model->setOperandValue(param8, param8_init, sizeof(float) * 1);
-  static int32_t param9_init[] = {4};
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static int32_t param9_init[] = {2};
   model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static int32_t param10_init[] = {4};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {2.0f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
+  static int32_t param13_init[] = {4};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param5, param6, param7, param8, param9, param10, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param11}, {out});
+  static int32_t param14_init[] = {0};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -873,23 +918,26 @@
   auto roi = model->addOperand(&type4);
   auto param1 = model->addOperand(&type8);
   auto param2 = model->addOperand(&type9);
-  auto param3 = model->addOperand(&type9);
+  auto param3 = model->addOperand(&type1);
   auto param4 = model->addOperand(&type1);
+  auto param5 = model->addOperand(&type9);
+  auto param6 = model->addOperand(&type9);
+  auto param7 = model->addOperand(&type9);
   auto scoresOut = model->addOperand(&type5);
   auto roiOut = model->addOperand(&type7);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type11);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type1);
-  auto param7 = model->addOperand(&type9);
-  auto param8 = model->addOperand(&type9);
+  auto param8 = model->addOperand(&type1);
   auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type1);
+  auto param10 = model->addOperand(&type9);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type12);
   auto op = model->addOperand(&type0);
-  auto param11 = model->addOperand(&type1);
+  auto param14 = model->addOperand(&type1);
   auto out = model->addOperand(&type14);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -900,31 +948,37 @@
   model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
   static float param2_init[] = {0.3f};
   model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static float param3_init[] = {0.4f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static int32_t param4_init[] = {-1};
+  static int32_t param3_init[] = {-1};
+  model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
+  static int32_t param4_init[] = {0};
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static int32_t param6_init[] = {2};
-  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
-  static float param7_init[] = {2.0f};
+  static float param5_init[] = {0.4f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {1.0f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static float param7_init[] = {0.3f};
   model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static float param8_init[] = {2.0f};
-  model->setOperandValue(param8, param8_init, sizeof(float) * 1);
-  static int32_t param9_init[] = {4};
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static int32_t param9_init[] = {2};
   model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static int32_t param10_init[] = {4};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {2.0f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
+  static int32_t param13_init[] = {4};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static float op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(float) * 4);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param5, param6, param7, param8, param9, param10, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param11}, {out});
+  static int32_t param14_init[] = {0};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -958,23 +1012,26 @@
   auto roi = model->addOperand(&type20);
   auto param1 = model->addOperand(&type8);
   auto param2 = model->addOperand(&type9);
-  auto param3 = model->addOperand(&type9);
+  auto param3 = model->addOperand(&type1);
   auto param4 = model->addOperand(&type1);
+  auto param5 = model->addOperand(&type9);
+  auto param6 = model->addOperand(&type9);
+  auto param7 = model->addOperand(&type9);
   auto scoresOut = model->addOperand(&type23);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type18);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type1);
-  auto param7 = model->addOperand(&type9);
-  auto param8 = model->addOperand(&type9);
+  auto param8 = model->addOperand(&type1);
   auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type1);
+  auto param10 = model->addOperand(&type9);
+  auto param11 = model->addOperand(&type9);
+  auto param12 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type17);
   auto op = model->addOperand(&type19);
-  auto param11 = model->addOperand(&type1);
+  auto param14 = model->addOperand(&type1);
   auto out = model->addOperand(&type31);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -985,31 +1042,37 @@
   model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
   static float param2_init[] = {0.3f};
   model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static float param3_init[] = {0.4f};
-  model->setOperandValue(param3, param3_init, sizeof(float) * 1);
-  static int32_t param4_init[] = {-1};
+  static int32_t param3_init[] = {-1};
+  model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
+  static int32_t param4_init[] = {0};
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static int32_t param6_init[] = {2};
-  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
-  static float param7_init[] = {2.0f};
+  static float param5_init[] = {0.4f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {1.0f};
+  model->setOperandValue(param6, param6_init, sizeof(float) * 1);
+  static float param7_init[] = {0.3f};
   model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static float param8_init[] = {2.0f};
-  model->setOperandValue(param8, param8_init, sizeof(float) * 1);
-  static int32_t param9_init[] = {4};
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static int32_t param9_init[] = {2};
   model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static int32_t param10_init[] = {4};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static float param11_init[] = {2.0f};
+  model->setOperandValue(param11, param11_init, sizeof(float) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
+  static int32_t param13_init[] = {4};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static uint8_t op_init[] = {138, 148, 158, 168};
   model->setOperandValue(op, op_init, sizeof(uint8_t) * 4);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param5, param6, param7, param8, param9, param10, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param11}, {out});
+  static int32_t param14_init[] = {0};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -1041,23 +1104,26 @@
   auto roi = model->addOperand(&type27);
   auto param1 = model->addOperand(&type8);
   auto param2 = model->addOperand(&type26);
-  auto param3 = model->addOperand(&type26);
+  auto param3 = model->addOperand(&type1);
   auto param4 = model->addOperand(&type1);
+  auto param5 = model->addOperand(&type26);
+  auto param6 = model->addOperand(&type26);
+  auto param7 = model->addOperand(&type26);
   auto scoresOut = model->addOperand(&type32);
   auto roiOut = model->addOperand(&type28);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type25);
-  auto param5 = model->addOperand(&type1);
-  auto param6 = model->addOperand(&type1);
-  auto param7 = model->addOperand(&type26);
-  auto param8 = model->addOperand(&type26);
+  auto param8 = model->addOperand(&type1);
   auto param9 = model->addOperand(&type1);
-  auto param10 = model->addOperand(&type1);
+  auto param10 = model->addOperand(&type26);
+  auto param11 = model->addOperand(&type26);
+  auto param12 = model->addOperand(&type1);
+  auto param13 = model->addOperand(&type1);
   auto layout = model->addOperand(&type10);
   auto featureMap = model->addOperand(&type24);
   auto op = model->addOperand(&type13);
-  auto param11 = model->addOperand(&type1);
+  auto param14 = model->addOperand(&type1);
   auto out = model->addOperand(&type15);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -1068,31 +1134,37 @@
   model->setOperandValue(param1, param1_init, sizeof(int32_t) * 1);
   static _Float16 param2_init[] = {0.30000001192092896f};
   model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static _Float16 param3_init[] = {0.4000000059604645f};
-  model->setOperandValue(param3, param3_init, sizeof(_Float16) * 1);
-  static int32_t param4_init[] = {-1};
+  static int32_t param3_init[] = {-1};
+  model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
+  static int32_t param4_init[] = {0};
   model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static int32_t param6_init[] = {2};
-  model->setOperandValue(param6, param6_init, sizeof(int32_t) * 1);
-  static _Float16 param7_init[] = {2.0f};
+  static _Float16 param5_init[] = {0.4000000059604645f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {1.0f};
+  model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
+  static _Float16 param7_init[] = {0.30000001192092896f};
   model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static _Float16 param8_init[] = {2.0f};
-  model->setOperandValue(param8, param8_init, sizeof(_Float16) * 1);
-  static int32_t param9_init[] = {4};
+  static int32_t param8_init[] = {2};
+  model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
+  static int32_t param9_init[] = {2};
   model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
-  static int32_t param10_init[] = {4};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static _Float16 param11_init[] = {2.0f};
+  model->setOperandValue(param11, param11_init, sizeof(_Float16) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
+  static int32_t param13_init[] = {4};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
   static _Float16 op_init[] = {1.0f, 2.0f, 3.0f, 4.0f};
   model->setOperandValue(op, op_init, sizeof(_Float16) * 4);
-  static int32_t param11_init[] = {0};
-  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param5, param6, param7, param8, param9, param10, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param11}, {out});
+  static int32_t param14_init[] = {0};
+  model->setOperandValue(param14, param14_init, sizeof(int32_t) * 1);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param1, param2, param3, param4, param5, param6, param7}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param8, param9, param10, param11, param12, param13, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_SUB, {featureMap, op, param14}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
diff --git a/runtime/test/generated/models/tanh_v1_2.model.cpp b/runtime/test/generated/models/tanh_v1_2.model.cpp
index 4433f0c..3621ec4 100644
--- a/runtime/test/generated/models/tanh_v1_2.model.cpp
+++ b/runtime/test/generated/models/tanh_v1_2.model.cpp
@@ -96,19 +96,22 @@
   auto roi = model->addOperand(&type4);
   auto param = model->addOperand(&type8);
   auto param1 = model->addOperand(&type9);
-  auto param2 = model->addOperand(&type9);
+  auto param2 = model->addOperand(&type10);
   auto param3 = model->addOperand(&type10);
+  auto param4 = model->addOperand(&type9);
+  auto param5 = model->addOperand(&type9);
+  auto param6 = model->addOperand(&type9);
   auto scoresOut = model->addOperand(&type5);
   auto roiOut = model->addOperand(&type7);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type10);
-  auto param5 = model->addOperand(&type10);
-  auto param6 = model->addOperand(&type9);
-  auto param7 = model->addOperand(&type9);
+  auto param7 = model->addOperand(&type10);
   auto param8 = model->addOperand(&type10);
-  auto param9 = model->addOperand(&type10);
+  auto param9 = model->addOperand(&type9);
+  auto param10 = model->addOperand(&type9);
+  auto param11 = model->addOperand(&type10);
+  auto param12 = model->addOperand(&type10);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto out = model->addOperand(&type13);
@@ -121,26 +124,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_TANH, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -171,19 +180,22 @@
   auto roi = model->addOperand(&type4);
   auto param = model->addOperand(&type8);
   auto param1 = model->addOperand(&type9);
-  auto param2 = model->addOperand(&type9);
+  auto param2 = model->addOperand(&type10);
   auto param3 = model->addOperand(&type10);
+  auto param4 = model->addOperand(&type9);
+  auto param5 = model->addOperand(&type9);
+  auto param6 = model->addOperand(&type9);
   auto scoresOut = model->addOperand(&type5);
   auto roiOut = model->addOperand(&type7);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type10);
-  auto param5 = model->addOperand(&type10);
-  auto param6 = model->addOperand(&type9);
-  auto param7 = model->addOperand(&type9);
+  auto param7 = model->addOperand(&type10);
   auto param8 = model->addOperand(&type10);
-  auto param9 = model->addOperand(&type10);
+  auto param9 = model->addOperand(&type9);
+  auto param10 = model->addOperand(&type9);
+  auto param11 = model->addOperand(&type10);
+  auto param12 = model->addOperand(&type10);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto out = model->addOperand(&type13);
@@ -196,26 +208,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_TANH, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -249,19 +267,22 @@
   auto roi = model->addOperand(&type19);
   auto param = model->addOperand(&type8);
   auto param1 = model->addOperand(&type9);
-  auto param2 = model->addOperand(&type9);
+  auto param2 = model->addOperand(&type10);
   auto param3 = model->addOperand(&type10);
+  auto param4 = model->addOperand(&type9);
+  auto param5 = model->addOperand(&type9);
+  auto param6 = model->addOperand(&type9);
   auto scoresOut = model->addOperand(&type22);
   auto roiOut = model->addOperand(&type20);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type17);
-  auto param4 = model->addOperand(&type10);
-  auto param5 = model->addOperand(&type10);
-  auto param6 = model->addOperand(&type9);
-  auto param7 = model->addOperand(&type9);
+  auto param7 = model->addOperand(&type10);
   auto param8 = model->addOperand(&type10);
-  auto param9 = model->addOperand(&type10);
+  auto param9 = model->addOperand(&type9);
+  auto param10 = model->addOperand(&type9);
+  auto param11 = model->addOperand(&type10);
+  auto param12 = model->addOperand(&type10);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type16);
   auto out = model->addOperand(&type18);
@@ -274,26 +295,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_TANH, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -324,19 +351,22 @@
   auto roi = model->addOperand(&type26);
   auto param = model->addOperand(&type8);
   auto param1 = model->addOperand(&type25);
-  auto param2 = model->addOperand(&type25);
+  auto param2 = model->addOperand(&type10);
   auto param3 = model->addOperand(&type10);
+  auto param4 = model->addOperand(&type25);
+  auto param5 = model->addOperand(&type25);
+  auto param6 = model->addOperand(&type25);
   auto scoresOut = model->addOperand(&type29);
   auto roiOut = model->addOperand(&type27);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type24);
-  auto param4 = model->addOperand(&type10);
-  auto param5 = model->addOperand(&type10);
-  auto param6 = model->addOperand(&type25);
-  auto param7 = model->addOperand(&type25);
+  auto param7 = model->addOperand(&type10);
   auto param8 = model->addOperand(&type10);
-  auto param9 = model->addOperand(&type10);
+  auto param9 = model->addOperand(&type25);
+  auto param10 = model->addOperand(&type25);
+  auto param11 = model->addOperand(&type10);
+  auto param12 = model->addOperand(&type10);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type23);
   auto out = model->addOperand(&type23);
@@ -349,26 +379,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_TANH, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -400,19 +436,22 @@
   auto roi = model->addOperand(&type4);
   auto param = model->addOperand(&type8);
   auto param1 = model->addOperand(&type9);
-  auto param2 = model->addOperand(&type9);
+  auto param2 = model->addOperand(&type10);
   auto param3 = model->addOperand(&type10);
+  auto param4 = model->addOperand(&type9);
+  auto param5 = model->addOperand(&type9);
+  auto param6 = model->addOperand(&type9);
   auto scoresOut = model->addOperand(&type5);
   auto roiOut = model->addOperand(&type7);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type10);
-  auto param5 = model->addOperand(&type10);
-  auto param6 = model->addOperand(&type9);
-  auto param7 = model->addOperand(&type9);
+  auto param7 = model->addOperand(&type10);
   auto param8 = model->addOperand(&type10);
-  auto param9 = model->addOperand(&type10);
+  auto param9 = model->addOperand(&type9);
+  auto param10 = model->addOperand(&type9);
+  auto param11 = model->addOperand(&type10);
+  auto param12 = model->addOperand(&type10);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto out = model->addOperand(&type30);
@@ -425,26 +464,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_TANH, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -476,19 +521,22 @@
   auto roi = model->addOperand(&type4);
   auto param = model->addOperand(&type8);
   auto param1 = model->addOperand(&type9);
-  auto param2 = model->addOperand(&type9);
+  auto param2 = model->addOperand(&type10);
   auto param3 = model->addOperand(&type10);
+  auto param4 = model->addOperand(&type9);
+  auto param5 = model->addOperand(&type9);
+  auto param6 = model->addOperand(&type9);
   auto scoresOut = model->addOperand(&type5);
   auto roiOut = model->addOperand(&type7);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type12);
-  auto param4 = model->addOperand(&type10);
-  auto param5 = model->addOperand(&type10);
-  auto param6 = model->addOperand(&type9);
-  auto param7 = model->addOperand(&type9);
+  auto param7 = model->addOperand(&type10);
   auto param8 = model->addOperand(&type10);
-  auto param9 = model->addOperand(&type10);
+  auto param9 = model->addOperand(&type9);
+  auto param10 = model->addOperand(&type9);
+  auto param11 = model->addOperand(&type10);
+  auto param12 = model->addOperand(&type10);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type13);
   auto out = model->addOperand(&type30);
@@ -501,26 +549,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_TANH, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -554,19 +608,22 @@
   auto roi = model->addOperand(&type19);
   auto param = model->addOperand(&type8);
   auto param1 = model->addOperand(&type9);
-  auto param2 = model->addOperand(&type9);
+  auto param2 = model->addOperand(&type10);
   auto param3 = model->addOperand(&type10);
+  auto param4 = model->addOperand(&type9);
+  auto param5 = model->addOperand(&type9);
+  auto param6 = model->addOperand(&type9);
   auto scoresOut = model->addOperand(&type22);
   auto roiOut = model->addOperand(&type20);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type17);
-  auto param4 = model->addOperand(&type10);
-  auto param5 = model->addOperand(&type10);
-  auto param6 = model->addOperand(&type9);
-  auto param7 = model->addOperand(&type9);
+  auto param7 = model->addOperand(&type10);
   auto param8 = model->addOperand(&type10);
-  auto param9 = model->addOperand(&type10);
+  auto param9 = model->addOperand(&type9);
+  auto param10 = model->addOperand(&type9);
+  auto param11 = model->addOperand(&type10);
+  auto param12 = model->addOperand(&type10);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type16);
   auto out = model->addOperand(&type31);
@@ -579,26 +636,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_TANH, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
@@ -630,19 +693,22 @@
   auto roi = model->addOperand(&type26);
   auto param = model->addOperand(&type8);
   auto param1 = model->addOperand(&type25);
-  auto param2 = model->addOperand(&type25);
+  auto param2 = model->addOperand(&type10);
   auto param3 = model->addOperand(&type10);
+  auto param4 = model->addOperand(&type25);
+  auto param5 = model->addOperand(&type25);
+  auto param6 = model->addOperand(&type25);
   auto scoresOut = model->addOperand(&type32);
   auto roiOut = model->addOperand(&type27);
   auto classesOut = model->addOperand(&type6);
   auto batchSplitOut = model->addOperand(&type6);
   auto in = model->addOperand(&type24);
-  auto param4 = model->addOperand(&type10);
-  auto param5 = model->addOperand(&type10);
-  auto param6 = model->addOperand(&type25);
-  auto param7 = model->addOperand(&type25);
+  auto param7 = model->addOperand(&type10);
   auto param8 = model->addOperand(&type10);
-  auto param9 = model->addOperand(&type10);
+  auto param9 = model->addOperand(&type25);
+  auto param10 = model->addOperand(&type25);
+  auto param11 = model->addOperand(&type10);
+  auto param12 = model->addOperand(&type10);
   auto layout = model->addOperand(&type11);
   auto featureMap = model->addOperand(&type23);
   auto out = model->addOperand(&type14);
@@ -655,26 +721,32 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
   model->addOperation(ANEURALNETWORKS_TANH, {featureMap}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
diff --git a/runtime/test/generated/models/transpose_v1_2.model.cpp b/runtime/test/generated/models/transpose_v1_2.model.cpp
index 090c32b..a330ff4 100644
--- a/runtime/test/generated/models/transpose_v1_2.model.cpp
+++ b/runtime/test/generated/models/transpose_v1_2.model.cpp
@@ -152,22 +152,25 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type6);
   auto param1 = model->addOperand(&type7);
-  auto param2 = model->addOperand(&type7);
+  auto param2 = model->addOperand(&type8);
   auto param3 = model->addOperand(&type8);
+  auto param4 = model->addOperand(&type7);
+  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type7);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type5);
   auto classesOut = model->addOperand(&type1);
   auto batchSplitOut = model->addOperand(&type1);
   auto in = model->addOperand(&type10);
-  auto param4 = model->addOperand(&type8);
-  auto param5 = model->addOperand(&type8);
-  auto param6 = model->addOperand(&type7);
-  auto param7 = model->addOperand(&type7);
+  auto param7 = model->addOperand(&type8);
   auto param8 = model->addOperand(&type8);
-  auto param9 = model->addOperand(&type8);
+  auto param9 = model->addOperand(&type7);
+  auto param10 = model->addOperand(&type7);
+  auto param11 = model->addOperand(&type8);
+  auto param12 = model->addOperand(&type8);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type11);
-  auto param10 = model->addOperand(&type13);
+  auto param13 = model->addOperand(&type13);
   auto out = model->addOperand(&type12);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -178,29 +181,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 3, 1, 2};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param10}, {out});
+  static int32_t param13_init[] = {0, 3, 1, 2};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -232,22 +241,25 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type6);
   auto param1 = model->addOperand(&type7);
-  auto param2 = model->addOperand(&type7);
+  auto param2 = model->addOperand(&type8);
   auto param3 = model->addOperand(&type8);
+  auto param4 = model->addOperand(&type7);
+  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type7);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type5);
   auto classesOut = model->addOperand(&type1);
   auto batchSplitOut = model->addOperand(&type1);
   auto in = model->addOperand(&type10);
-  auto param4 = model->addOperand(&type8);
-  auto param5 = model->addOperand(&type8);
-  auto param6 = model->addOperand(&type7);
-  auto param7 = model->addOperand(&type7);
+  auto param7 = model->addOperand(&type8);
   auto param8 = model->addOperand(&type8);
-  auto param9 = model->addOperand(&type8);
+  auto param9 = model->addOperand(&type7);
+  auto param10 = model->addOperand(&type7);
+  auto param11 = model->addOperand(&type8);
+  auto param12 = model->addOperand(&type8);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type11);
-  auto param10 = model->addOperand(&type13);
+  auto param13 = model->addOperand(&type13);
   auto out = model->addOperand(&type12);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -258,29 +270,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 3, 1, 2};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param10}, {out});
+  static int32_t param13_init[] = {0, 3, 1, 2};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -314,22 +332,25 @@
   auto roi = model->addOperand(&type20);
   auto param = model->addOperand(&type6);
   auto param1 = model->addOperand(&type7);
-  auto param2 = model->addOperand(&type7);
+  auto param2 = model->addOperand(&type8);
   auto param3 = model->addOperand(&type8);
+  auto param4 = model->addOperand(&type7);
+  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type7);
   auto scoresOut = model->addOperand(&type23);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type1);
   auto batchSplitOut = model->addOperand(&type1);
   auto in = model->addOperand(&type18);
-  auto param4 = model->addOperand(&type8);
-  auto param5 = model->addOperand(&type8);
-  auto param6 = model->addOperand(&type7);
-  auto param7 = model->addOperand(&type7);
+  auto param7 = model->addOperand(&type8);
   auto param8 = model->addOperand(&type8);
-  auto param9 = model->addOperand(&type8);
+  auto param9 = model->addOperand(&type7);
+  auto param10 = model->addOperand(&type7);
+  auto param11 = model->addOperand(&type8);
+  auto param12 = model->addOperand(&type8);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type17);
-  auto param10 = model->addOperand(&type13);
+  auto param13 = model->addOperand(&type13);
   auto out = model->addOperand(&type19);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -340,29 +361,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 3, 1, 2};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param10}, {out});
+  static int32_t param13_init[] = {0, 3, 1, 2};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -394,22 +421,25 @@
   auto roi = model->addOperand(&type28);
   auto param = model->addOperand(&type6);
   auto param1 = model->addOperand(&type27);
-  auto param2 = model->addOperand(&type27);
+  auto param2 = model->addOperand(&type8);
   auto param3 = model->addOperand(&type8);
+  auto param4 = model->addOperand(&type27);
+  auto param5 = model->addOperand(&type27);
+  auto param6 = model->addOperand(&type27);
   auto scoresOut = model->addOperand(&type31);
   auto roiOut = model->addOperand(&type29);
   auto classesOut = model->addOperand(&type1);
   auto batchSplitOut = model->addOperand(&type1);
   auto in = model->addOperand(&type25);
-  auto param4 = model->addOperand(&type8);
-  auto param5 = model->addOperand(&type8);
-  auto param6 = model->addOperand(&type27);
-  auto param7 = model->addOperand(&type27);
+  auto param7 = model->addOperand(&type8);
   auto param8 = model->addOperand(&type8);
-  auto param9 = model->addOperand(&type8);
+  auto param9 = model->addOperand(&type27);
+  auto param10 = model->addOperand(&type27);
+  auto param11 = model->addOperand(&type8);
+  auto param12 = model->addOperand(&type8);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type24);
-  auto param10 = model->addOperand(&type13);
+  auto param13 = model->addOperand(&type13);
   auto out = model->addOperand(&type26);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -420,29 +450,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 3, 1, 2};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param10}, {out});
+  static int32_t param13_init[] = {0, 3, 1, 2};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -474,22 +510,25 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type6);
   auto param1 = model->addOperand(&type7);
-  auto param2 = model->addOperand(&type7);
+  auto param2 = model->addOperand(&type8);
   auto param3 = model->addOperand(&type8);
+  auto param4 = model->addOperand(&type7);
+  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type7);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type5);
   auto classesOut = model->addOperand(&type1);
   auto batchSplitOut = model->addOperand(&type1);
   auto in = model->addOperand(&type10);
-  auto param4 = model->addOperand(&type8);
-  auto param5 = model->addOperand(&type8);
-  auto param6 = model->addOperand(&type7);
-  auto param7 = model->addOperand(&type7);
+  auto param7 = model->addOperand(&type8);
   auto param8 = model->addOperand(&type8);
-  auto param9 = model->addOperand(&type8);
+  auto param9 = model->addOperand(&type7);
+  auto param10 = model->addOperand(&type7);
+  auto param11 = model->addOperand(&type8);
+  auto param12 = model->addOperand(&type8);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type11);
-  auto param10 = model->addOperand(&type13);
+  auto param13 = model->addOperand(&type13);
   auto out = model->addOperand(&type32);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -500,29 +539,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 3, 1, 2};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param10}, {out});
+  static int32_t param13_init[] = {0, 3, 1, 2};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -554,22 +599,25 @@
   auto roi = model->addOperand(&type3);
   auto param = model->addOperand(&type6);
   auto param1 = model->addOperand(&type7);
-  auto param2 = model->addOperand(&type7);
+  auto param2 = model->addOperand(&type8);
   auto param3 = model->addOperand(&type8);
+  auto param4 = model->addOperand(&type7);
+  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type7);
   auto scoresOut = model->addOperand(&type4);
   auto roiOut = model->addOperand(&type5);
   auto classesOut = model->addOperand(&type1);
   auto batchSplitOut = model->addOperand(&type1);
   auto in = model->addOperand(&type10);
-  auto param4 = model->addOperand(&type8);
-  auto param5 = model->addOperand(&type8);
-  auto param6 = model->addOperand(&type7);
-  auto param7 = model->addOperand(&type7);
+  auto param7 = model->addOperand(&type8);
   auto param8 = model->addOperand(&type8);
-  auto param9 = model->addOperand(&type8);
+  auto param9 = model->addOperand(&type7);
+  auto param10 = model->addOperand(&type7);
+  auto param11 = model->addOperand(&type8);
+  auto param12 = model->addOperand(&type8);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type11);
-  auto param10 = model->addOperand(&type13);
+  auto param13 = model->addOperand(&type13);
   auto out = model->addOperand(&type32);
   // Phase 2, operations
   static float scores_init[] = {0.9f, 0.1f};
@@ -580,29 +628,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 3, 1, 2};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param10}, {out});
+  static int32_t param13_init[] = {0, 3, 1, 2};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -636,22 +690,25 @@
   auto roi = model->addOperand(&type20);
   auto param = model->addOperand(&type6);
   auto param1 = model->addOperand(&type7);
-  auto param2 = model->addOperand(&type7);
+  auto param2 = model->addOperand(&type8);
   auto param3 = model->addOperand(&type8);
+  auto param4 = model->addOperand(&type7);
+  auto param5 = model->addOperand(&type7);
+  auto param6 = model->addOperand(&type7);
   auto scoresOut = model->addOperand(&type23);
   auto roiOut = model->addOperand(&type21);
   auto classesOut = model->addOperand(&type1);
   auto batchSplitOut = model->addOperand(&type1);
   auto in = model->addOperand(&type18);
-  auto param4 = model->addOperand(&type8);
-  auto param5 = model->addOperand(&type8);
-  auto param6 = model->addOperand(&type7);
-  auto param7 = model->addOperand(&type7);
+  auto param7 = model->addOperand(&type8);
   auto param8 = model->addOperand(&type8);
-  auto param9 = model->addOperand(&type8);
+  auto param9 = model->addOperand(&type7);
+  auto param10 = model->addOperand(&type7);
+  auto param11 = model->addOperand(&type8);
+  auto param12 = model->addOperand(&type8);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type17);
-  auto param10 = model->addOperand(&type13);
+  auto param13 = model->addOperand(&type13);
   auto out = model->addOperand(&type33);
   // Phase 2, operations
   static uint8_t scores_init[] = {137, 129};
@@ -662,29 +719,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static float param1_init[] = {0.3f};
   model->setOperandValue(param1, param1_init, sizeof(float) * 1);
-  static float param2_init[] = {0.4f};
-  model->setOperandValue(param2, param2_init, sizeof(float) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static float param6_init[] = {2.0f};
+  static float param4_init[] = {0.4f};
+  model->setOperandValue(param4, param4_init, sizeof(float) * 1);
+  static float param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(float) * 1);
+  static float param6_init[] = {0.3f};
   model->setOperandValue(param6, param6_init, sizeof(float) * 1);
-  static float param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(float) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static float param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(float) * 1);
+  static float param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(float) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 3, 1, 2};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param10}, {out});
+  static int32_t param13_init[] = {0, 3, 1, 2};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
@@ -716,22 +779,25 @@
   auto roi = model->addOperand(&type28);
   auto param = model->addOperand(&type6);
   auto param1 = model->addOperand(&type27);
-  auto param2 = model->addOperand(&type27);
+  auto param2 = model->addOperand(&type8);
   auto param3 = model->addOperand(&type8);
+  auto param4 = model->addOperand(&type27);
+  auto param5 = model->addOperand(&type27);
+  auto param6 = model->addOperand(&type27);
   auto scoresOut = model->addOperand(&type34);
   auto roiOut = model->addOperand(&type29);
   auto classesOut = model->addOperand(&type1);
   auto batchSplitOut = model->addOperand(&type1);
   auto in = model->addOperand(&type25);
-  auto param4 = model->addOperand(&type8);
-  auto param5 = model->addOperand(&type8);
-  auto param6 = model->addOperand(&type27);
-  auto param7 = model->addOperand(&type27);
+  auto param7 = model->addOperand(&type8);
   auto param8 = model->addOperand(&type8);
-  auto param9 = model->addOperand(&type8);
+  auto param9 = model->addOperand(&type27);
+  auto param10 = model->addOperand(&type27);
+  auto param11 = model->addOperand(&type8);
+  auto param12 = model->addOperand(&type8);
   auto layout = model->addOperand(&type9);
   auto featureMap = model->addOperand(&type24);
-  auto param10 = model->addOperand(&type13);
+  auto param13 = model->addOperand(&type13);
   auto out = model->addOperand(&type35);
   // Phase 2, operations
   static _Float16 scores_init[] = {0.8999999761581421f, 0.10000000149011612f};
@@ -742,29 +808,35 @@
   model->setOperandValue(param, param_init, sizeof(int32_t) * 1);
   static _Float16 param1_init[] = {0.30000001192092896f};
   model->setOperandValue(param1, param1_init, sizeof(_Float16) * 1);
-  static _Float16 param2_init[] = {0.4000000059604645f};
-  model->setOperandValue(param2, param2_init, sizeof(_Float16) * 1);
-  static int32_t param3_init[] = {-1};
+  static int32_t param2_init[] = {-1};
+  model->setOperandValue(param2, param2_init, sizeof(int32_t) * 1);
+  static int32_t param3_init[] = {0};
   model->setOperandValue(param3, param3_init, sizeof(int32_t) * 1);
-  static int32_t param4_init[] = {2};
-  model->setOperandValue(param4, param4_init, sizeof(int32_t) * 1);
-  static int32_t param5_init[] = {2};
-  model->setOperandValue(param5, param5_init, sizeof(int32_t) * 1);
-  static _Float16 param6_init[] = {2.0f};
+  static _Float16 param4_init[] = {0.4000000059604645f};
+  model->setOperandValue(param4, param4_init, sizeof(_Float16) * 1);
+  static _Float16 param5_init[] = {1.0f};
+  model->setOperandValue(param5, param5_init, sizeof(_Float16) * 1);
+  static _Float16 param6_init[] = {0.30000001192092896f};
   model->setOperandValue(param6, param6_init, sizeof(_Float16) * 1);
-  static _Float16 param7_init[] = {2.0f};
-  model->setOperandValue(param7, param7_init, sizeof(_Float16) * 1);
-  static int32_t param8_init[] = {4};
+  static int32_t param7_init[] = {2};
+  model->setOperandValue(param7, param7_init, sizeof(int32_t) * 1);
+  static int32_t param8_init[] = {2};
   model->setOperandValue(param8, param8_init, sizeof(int32_t) * 1);
-  static int32_t param9_init[] = {4};
-  model->setOperandValue(param9, param9_init, sizeof(int32_t) * 1);
+  static _Float16 param9_init[] = {2.0f};
+  model->setOperandValue(param9, param9_init, sizeof(_Float16) * 1);
+  static _Float16 param10_init[] = {2.0f};
+  model->setOperandValue(param10, param10_init, sizeof(_Float16) * 1);
+  static int32_t param11_init[] = {4};
+  model->setOperandValue(param11, param11_init, sizeof(int32_t) * 1);
+  static int32_t param12_init[] = {4};
+  model->setOperandValue(param12, param12_init, sizeof(int32_t) * 1);
   static bool8 layout_init[] = {false};
   model->setOperandValue(layout, layout_init, sizeof(bool8) * 1);
-  static int32_t param10_init[] = {0, 3, 1, 2};
-  model->setOperandValue(param10, param10_init, sizeof(int32_t) * 4);
-  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3}, {scoresOut, roiOut, classesOut, batchSplitOut});
-  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param4, param5, param6, param7, param8, param9, layout}, {featureMap});
-  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param10}, {out});
+  static int32_t param13_init[] = {0, 3, 1, 2};
+  model->setOperandValue(param13, param13_init, sizeof(int32_t) * 4);
+  model->addOperation(ANEURALNETWORKS_BOX_WITH_NMS_LIMIT, {scores, roi, param, param1, param2, param3, param4, param5, param6}, {scoresOut, roiOut, classesOut, batchSplitOut});
+  model->addOperation(ANEURALNETWORKS_ROI_ALIGN, {in, roiOut, batchSplitOut, param7, param8, param9, param10, param11, param12, layout}, {featureMap});
+  model->addOperation(ANEURALNETWORKS_TRANSPOSE, {featureMap, param13}, {out});
   // Phase 3, inputs and outputs
   model->identifyInputsAndOutputs(
     {in},
diff --git a/runtime/test/generated/tests/box_with_nms_limit.mod.py.cpp b/runtime/test/generated/tests/box_with_nms_limit.mod.py.cpp
deleted file mode 100644
index b6c4a17..0000000
--- a/runtime/test/generated/tests/box_with_nms_limit.mod.py.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-// clang-format off
-// Generated file (from: box_with_nms_limit.mod.py). Do not edit
-#include "../../TestGenerated.h"
-
-namespace box_with_nms_limit {
-// Generated box_with_nms_limit test
-#include "generated/examples/box_with_nms_limit.example.cpp"
-// Generated model constructor
-#include "generated/models/box_with_nms_limit.model.cpp"
-} // namespace box_with_nms_limit
-
-TEST_F(GeneratedTests, box_with_nms_limit) {
-    execute(box_with_nms_limit::CreateModel,
-            box_with_nms_limit::is_ignored,
-            box_with_nms_limit::get_examples());
-}
-
-TEST_F(GeneratedTests, box_with_nms_limit_relaxed) {
-    execute(box_with_nms_limit::CreateModel_relaxed,
-            box_with_nms_limit::is_ignored_relaxed,
-            box_with_nms_limit::get_examples_relaxed());
-}
-
-TEST_F(GeneratedTests, box_with_nms_limit_float16) {
-    execute(box_with_nms_limit::CreateModel_float16,
-            box_with_nms_limit::is_ignored_float16,
-            box_with_nms_limit::get_examples_float16());
-}
-
-TEST_F(GeneratedTests, box_with_nms_limit_quant8) {
-    execute(box_with_nms_limit::CreateModel_quant8,
-            box_with_nms_limit::is_ignored_quant8,
-            box_with_nms_limit::get_examples_quant8());
-}
-
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape) {
-    execute(box_with_nms_limit::CreateModel_dynamic_output_shape,
-            box_with_nms_limit::is_ignored_dynamic_output_shape,
-            box_with_nms_limit::get_examples_dynamic_output_shape());
-}
-
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_relaxed) {
-    execute(box_with_nms_limit::CreateModel_dynamic_output_shape_relaxed,
-            box_with_nms_limit::is_ignored_dynamic_output_shape_relaxed,
-            box_with_nms_limit::get_examples_dynamic_output_shape_relaxed());
-}
-
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_float16) {
-    execute(box_with_nms_limit::CreateModel_dynamic_output_shape_float16,
-            box_with_nms_limit::is_ignored_dynamic_output_shape_float16,
-            box_with_nms_limit::get_examples_dynamic_output_shape_float16());
-}
-
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_quant8) {
-    execute(box_with_nms_limit::CreateModel_dynamic_output_shape_quant8,
-            box_with_nms_limit::is_ignored_dynamic_output_shape_quant8,
-            box_with_nms_limit::get_examples_dynamic_output_shape_quant8());
-}
-
-TEST_F(GeneratedTests, box_with_nms_limit_2) {
-    execute(box_with_nms_limit::CreateModel_2,
-            box_with_nms_limit::is_ignored_2,
-            box_with_nms_limit::get_examples_2());
-}
-
-TEST_F(GeneratedTests, box_with_nms_limit_relaxed_2) {
-    execute(box_with_nms_limit::CreateModel_relaxed_2,
-            box_with_nms_limit::is_ignored_relaxed_2,
-            box_with_nms_limit::get_examples_relaxed_2());
-}
-
-TEST_F(GeneratedTests, box_with_nms_limit_float16_2) {
-    execute(box_with_nms_limit::CreateModel_float16_2,
-            box_with_nms_limit::is_ignored_float16_2,
-            box_with_nms_limit::get_examples_float16_2());
-}
-
-TEST_F(GeneratedTests, box_with_nms_limit_quant8_2) {
-    execute(box_with_nms_limit::CreateModel_quant8_2,
-            box_with_nms_limit::is_ignored_quant8_2,
-            box_with_nms_limit::get_examples_quant8_2());
-}
-
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_2) {
-    execute(box_with_nms_limit::CreateModel_dynamic_output_shape_2,
-            box_with_nms_limit::is_ignored_dynamic_output_shape_2,
-            box_with_nms_limit::get_examples_dynamic_output_shape_2());
-}
-
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_relaxed_2) {
-    execute(box_with_nms_limit::CreateModel_dynamic_output_shape_relaxed_2,
-            box_with_nms_limit::is_ignored_dynamic_output_shape_relaxed_2,
-            box_with_nms_limit::get_examples_dynamic_output_shape_relaxed_2());
-}
-
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_float16_2) {
-    execute(box_with_nms_limit::CreateModel_dynamic_output_shape_float16_2,
-            box_with_nms_limit::is_ignored_dynamic_output_shape_float16_2,
-            box_with_nms_limit::get_examples_dynamic_output_shape_float16_2());
-}
-
-TEST_F(DynamicOutputShapeTest, box_with_nms_limit_dynamic_output_shape_quant8_2) {
-    execute(box_with_nms_limit::CreateModel_dynamic_output_shape_quant8_2,
-            box_with_nms_limit::is_ignored_dynamic_output_shape_quant8_2,
-            box_with_nms_limit::get_examples_dynamic_output_shape_quant8_2());
-}
-
diff --git a/runtime/test/generated/tests/box_with_nms_limit_gaussian.mod.py.cpp b/runtime/test/generated/tests/box_with_nms_limit_gaussian.mod.py.cpp
new file mode 100644
index 0000000..38230dc
--- /dev/null
+++ b/runtime/test/generated/tests/box_with_nms_limit_gaussian.mod.py.cpp
@@ -0,0 +1,107 @@
+// clang-format off
+// Generated file (from: box_with_nms_limit_gaussian.mod.py). Do not edit
+#include "../../TestGenerated.h"
+
+namespace box_with_nms_limit_gaussian {
+// Generated box_with_nms_limit_gaussian test
+#include "generated/examples/box_with_nms_limit_gaussian.example.cpp"
+// Generated model constructor
+#include "generated/models/box_with_nms_limit_gaussian.model.cpp"
+} // namespace box_with_nms_limit_gaussian
+
+TEST_F(GeneratedTests, box_with_nms_limit_gaussian) {
+    execute(box_with_nms_limit_gaussian::CreateModel,
+            box_with_nms_limit_gaussian::is_ignored,
+            box_with_nms_limit_gaussian::get_examples());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_gaussian_relaxed) {
+    execute(box_with_nms_limit_gaussian::CreateModel_relaxed,
+            box_with_nms_limit_gaussian::is_ignored_relaxed,
+            box_with_nms_limit_gaussian::get_examples_relaxed());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_gaussian_float16) {
+    execute(box_with_nms_limit_gaussian::CreateModel_float16,
+            box_with_nms_limit_gaussian::is_ignored_float16,
+            box_with_nms_limit_gaussian::get_examples_float16());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_gaussian_quant8) {
+    execute(box_with_nms_limit_gaussian::CreateModel_quant8,
+            box_with_nms_limit_gaussian::is_ignored_quant8,
+            box_with_nms_limit_gaussian::get_examples_quant8());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape) {
+    execute(box_with_nms_limit_gaussian::CreateModel_dynamic_output_shape,
+            box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape,
+            box_with_nms_limit_gaussian::get_examples_dynamic_output_shape());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_relaxed) {
+    execute(box_with_nms_limit_gaussian::CreateModel_dynamic_output_shape_relaxed,
+            box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_relaxed,
+            box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_relaxed());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_float16) {
+    execute(box_with_nms_limit_gaussian::CreateModel_dynamic_output_shape_float16,
+            box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_float16,
+            box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_float16());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_quant8) {
+    execute(box_with_nms_limit_gaussian::CreateModel_dynamic_output_shape_quant8,
+            box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_quant8,
+            box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_quant8());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_gaussian_2) {
+    execute(box_with_nms_limit_gaussian::CreateModel_2,
+            box_with_nms_limit_gaussian::is_ignored_2,
+            box_with_nms_limit_gaussian::get_examples_2());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_gaussian_relaxed_2) {
+    execute(box_with_nms_limit_gaussian::CreateModel_relaxed_2,
+            box_with_nms_limit_gaussian::is_ignored_relaxed_2,
+            box_with_nms_limit_gaussian::get_examples_relaxed_2());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_gaussian_float16_2) {
+    execute(box_with_nms_limit_gaussian::CreateModel_float16_2,
+            box_with_nms_limit_gaussian::is_ignored_float16_2,
+            box_with_nms_limit_gaussian::get_examples_float16_2());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_gaussian_quant8_2) {
+    execute(box_with_nms_limit_gaussian::CreateModel_quant8_2,
+            box_with_nms_limit_gaussian::is_ignored_quant8_2,
+            box_with_nms_limit_gaussian::get_examples_quant8_2());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_2) {
+    execute(box_with_nms_limit_gaussian::CreateModel_dynamic_output_shape_2,
+            box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_2,
+            box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_2());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_relaxed_2) {
+    execute(box_with_nms_limit_gaussian::CreateModel_dynamic_output_shape_relaxed_2,
+            box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_relaxed_2,
+            box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_relaxed_2());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_float16_2) {
+    execute(box_with_nms_limit_gaussian::CreateModel_dynamic_output_shape_float16_2,
+            box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_float16_2,
+            box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_float16_2());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_gaussian_dynamic_output_shape_quant8_2) {
+    execute(box_with_nms_limit_gaussian::CreateModel_dynamic_output_shape_quant8_2,
+            box_with_nms_limit_gaussian::is_ignored_dynamic_output_shape_quant8_2,
+            box_with_nms_limit_gaussian::get_examples_dynamic_output_shape_quant8_2());
+}
+
diff --git a/runtime/test/generated/tests/box_with_nms_limit_hard.mod.py.cpp b/runtime/test/generated/tests/box_with_nms_limit_hard.mod.py.cpp
new file mode 100644
index 0000000..45cc338
--- /dev/null
+++ b/runtime/test/generated/tests/box_with_nms_limit_hard.mod.py.cpp
@@ -0,0 +1,107 @@
+// clang-format off
+// Generated file (from: box_with_nms_limit_hard.mod.py). Do not edit
+#include "../../TestGenerated.h"
+
+namespace box_with_nms_limit_hard {
+// Generated box_with_nms_limit_hard test
+#include "generated/examples/box_with_nms_limit_hard.example.cpp"
+// Generated model constructor
+#include "generated/models/box_with_nms_limit_hard.model.cpp"
+} // namespace box_with_nms_limit_hard
+
+TEST_F(GeneratedTests, box_with_nms_limit_hard) {
+    execute(box_with_nms_limit_hard::CreateModel,
+            box_with_nms_limit_hard::is_ignored,
+            box_with_nms_limit_hard::get_examples());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_hard_relaxed) {
+    execute(box_with_nms_limit_hard::CreateModel_relaxed,
+            box_with_nms_limit_hard::is_ignored_relaxed,
+            box_with_nms_limit_hard::get_examples_relaxed());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_hard_float16) {
+    execute(box_with_nms_limit_hard::CreateModel_float16,
+            box_with_nms_limit_hard::is_ignored_float16,
+            box_with_nms_limit_hard::get_examples_float16());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_hard_quant8) {
+    execute(box_with_nms_limit_hard::CreateModel_quant8,
+            box_with_nms_limit_hard::is_ignored_quant8,
+            box_with_nms_limit_hard::get_examples_quant8());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape) {
+    execute(box_with_nms_limit_hard::CreateModel_dynamic_output_shape,
+            box_with_nms_limit_hard::is_ignored_dynamic_output_shape,
+            box_with_nms_limit_hard::get_examples_dynamic_output_shape());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_relaxed) {
+    execute(box_with_nms_limit_hard::CreateModel_dynamic_output_shape_relaxed,
+            box_with_nms_limit_hard::is_ignored_dynamic_output_shape_relaxed,
+            box_with_nms_limit_hard::get_examples_dynamic_output_shape_relaxed());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_float16) {
+    execute(box_with_nms_limit_hard::CreateModel_dynamic_output_shape_float16,
+            box_with_nms_limit_hard::is_ignored_dynamic_output_shape_float16,
+            box_with_nms_limit_hard::get_examples_dynamic_output_shape_float16());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_quant8) {
+    execute(box_with_nms_limit_hard::CreateModel_dynamic_output_shape_quant8,
+            box_with_nms_limit_hard::is_ignored_dynamic_output_shape_quant8,
+            box_with_nms_limit_hard::get_examples_dynamic_output_shape_quant8());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_hard_2) {
+    execute(box_with_nms_limit_hard::CreateModel_2,
+            box_with_nms_limit_hard::is_ignored_2,
+            box_with_nms_limit_hard::get_examples_2());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_hard_relaxed_2) {
+    execute(box_with_nms_limit_hard::CreateModel_relaxed_2,
+            box_with_nms_limit_hard::is_ignored_relaxed_2,
+            box_with_nms_limit_hard::get_examples_relaxed_2());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_hard_float16_2) {
+    execute(box_with_nms_limit_hard::CreateModel_float16_2,
+            box_with_nms_limit_hard::is_ignored_float16_2,
+            box_with_nms_limit_hard::get_examples_float16_2());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_hard_quant8_2) {
+    execute(box_with_nms_limit_hard::CreateModel_quant8_2,
+            box_with_nms_limit_hard::is_ignored_quant8_2,
+            box_with_nms_limit_hard::get_examples_quant8_2());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_2) {
+    execute(box_with_nms_limit_hard::CreateModel_dynamic_output_shape_2,
+            box_with_nms_limit_hard::is_ignored_dynamic_output_shape_2,
+            box_with_nms_limit_hard::get_examples_dynamic_output_shape_2());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_relaxed_2) {
+    execute(box_with_nms_limit_hard::CreateModel_dynamic_output_shape_relaxed_2,
+            box_with_nms_limit_hard::is_ignored_dynamic_output_shape_relaxed_2,
+            box_with_nms_limit_hard::get_examples_dynamic_output_shape_relaxed_2());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_float16_2) {
+    execute(box_with_nms_limit_hard::CreateModel_dynamic_output_shape_float16_2,
+            box_with_nms_limit_hard::is_ignored_dynamic_output_shape_float16_2,
+            box_with_nms_limit_hard::get_examples_dynamic_output_shape_float16_2());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_hard_dynamic_output_shape_quant8_2) {
+    execute(box_with_nms_limit_hard::CreateModel_dynamic_output_shape_quant8_2,
+            box_with_nms_limit_hard::is_ignored_dynamic_output_shape_quant8_2,
+            box_with_nms_limit_hard::get_examples_dynamic_output_shape_quant8_2());
+}
+
diff --git a/runtime/test/generated/tests/box_with_nms_limit_linear.mod.py.cpp b/runtime/test/generated/tests/box_with_nms_limit_linear.mod.py.cpp
new file mode 100644
index 0000000..8037984
--- /dev/null
+++ b/runtime/test/generated/tests/box_with_nms_limit_linear.mod.py.cpp
@@ -0,0 +1,107 @@
+// clang-format off
+// Generated file (from: box_with_nms_limit_linear.mod.py). Do not edit
+#include "../../TestGenerated.h"
+
+namespace box_with_nms_limit_linear {
+// Generated box_with_nms_limit_linear test
+#include "generated/examples/box_with_nms_limit_linear.example.cpp"
+// Generated model constructor
+#include "generated/models/box_with_nms_limit_linear.model.cpp"
+} // namespace box_with_nms_limit_linear
+
+TEST_F(GeneratedTests, box_with_nms_limit_linear) {
+    execute(box_with_nms_limit_linear::CreateModel,
+            box_with_nms_limit_linear::is_ignored,
+            box_with_nms_limit_linear::get_examples());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_linear_relaxed) {
+    execute(box_with_nms_limit_linear::CreateModel_relaxed,
+            box_with_nms_limit_linear::is_ignored_relaxed,
+            box_with_nms_limit_linear::get_examples_relaxed());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_linear_float16) {
+    execute(box_with_nms_limit_linear::CreateModel_float16,
+            box_with_nms_limit_linear::is_ignored_float16,
+            box_with_nms_limit_linear::get_examples_float16());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_linear_quant8) {
+    execute(box_with_nms_limit_linear::CreateModel_quant8,
+            box_with_nms_limit_linear::is_ignored_quant8,
+            box_with_nms_limit_linear::get_examples_quant8());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape) {
+    execute(box_with_nms_limit_linear::CreateModel_dynamic_output_shape,
+            box_with_nms_limit_linear::is_ignored_dynamic_output_shape,
+            box_with_nms_limit_linear::get_examples_dynamic_output_shape());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_relaxed) {
+    execute(box_with_nms_limit_linear::CreateModel_dynamic_output_shape_relaxed,
+            box_with_nms_limit_linear::is_ignored_dynamic_output_shape_relaxed,
+            box_with_nms_limit_linear::get_examples_dynamic_output_shape_relaxed());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_float16) {
+    execute(box_with_nms_limit_linear::CreateModel_dynamic_output_shape_float16,
+            box_with_nms_limit_linear::is_ignored_dynamic_output_shape_float16,
+            box_with_nms_limit_linear::get_examples_dynamic_output_shape_float16());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_quant8) {
+    execute(box_with_nms_limit_linear::CreateModel_dynamic_output_shape_quant8,
+            box_with_nms_limit_linear::is_ignored_dynamic_output_shape_quant8,
+            box_with_nms_limit_linear::get_examples_dynamic_output_shape_quant8());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_linear_2) {
+    execute(box_with_nms_limit_linear::CreateModel_2,
+            box_with_nms_limit_linear::is_ignored_2,
+            box_with_nms_limit_linear::get_examples_2());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_linear_relaxed_2) {
+    execute(box_with_nms_limit_linear::CreateModel_relaxed_2,
+            box_with_nms_limit_linear::is_ignored_relaxed_2,
+            box_with_nms_limit_linear::get_examples_relaxed_2());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_linear_float16_2) {
+    execute(box_with_nms_limit_linear::CreateModel_float16_2,
+            box_with_nms_limit_linear::is_ignored_float16_2,
+            box_with_nms_limit_linear::get_examples_float16_2());
+}
+
+TEST_F(GeneratedTests, box_with_nms_limit_linear_quant8_2) {
+    execute(box_with_nms_limit_linear::CreateModel_quant8_2,
+            box_with_nms_limit_linear::is_ignored_quant8_2,
+            box_with_nms_limit_linear::get_examples_quant8_2());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_2) {
+    execute(box_with_nms_limit_linear::CreateModel_dynamic_output_shape_2,
+            box_with_nms_limit_linear::is_ignored_dynamic_output_shape_2,
+            box_with_nms_limit_linear::get_examples_dynamic_output_shape_2());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_relaxed_2) {
+    execute(box_with_nms_limit_linear::CreateModel_dynamic_output_shape_relaxed_2,
+            box_with_nms_limit_linear::is_ignored_dynamic_output_shape_relaxed_2,
+            box_with_nms_limit_linear::get_examples_dynamic_output_shape_relaxed_2());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_float16_2) {
+    execute(box_with_nms_limit_linear::CreateModel_dynamic_output_shape_float16_2,
+            box_with_nms_limit_linear::is_ignored_dynamic_output_shape_float16_2,
+            box_with_nms_limit_linear::get_examples_dynamic_output_shape_float16_2());
+}
+
+TEST_F(DynamicOutputShapeTest, box_with_nms_limit_linear_dynamic_output_shape_quant8_2) {
+    execute(box_with_nms_limit_linear::CreateModel_dynamic_output_shape_quant8_2,
+            box_with_nms_limit_linear::is_ignored_dynamic_output_shape_quant8_2,
+            box_with_nms_limit_linear::get_examples_dynamic_output_shape_quant8_2());
+}
+
diff --git a/runtime/test/generated/vts_models/add_v1_2.model.cpp b/runtime/test/generated/vts_models/add_v1_2.model.cpp
index bd2e7d0..ae14b04 100644
--- a/runtime/test/generated/vts_models/add_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/add_v1_2.model.cpp
@@ -324,7 +324,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -342,6 +342,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -393,33 +420,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -432,7 +432,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -441,13 +441,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -465,7 +492,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -474,7 +501,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -490,25 +517,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::ADD,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -567,7 +594,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -585,6 +612,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -636,33 +690,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -675,7 +702,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -684,13 +711,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -708,7 +762,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -717,7 +771,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -733,25 +787,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::ADD,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -811,7 +865,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -829,6 +883,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -880,33 +961,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -919,7 +973,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -928,13 +982,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -952,7 +1033,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -961,7 +1042,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -977,25 +1058,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::ADD,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 168, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 168, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1054,13 +1135,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1069,7 +1150,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1123,34 +1231,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1162,13 +1243,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1177,7 +1285,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1195,7 +1303,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 8},
+            .location = {.poolIndex = 0, .offset = 61, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -1204,7 +1312,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1220,25 +1328,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::ADD,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1297,7 +1405,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1315,6 +1423,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1366,33 +1501,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1405,7 +1513,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1414,13 +1522,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1438,7 +1573,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -1447,7 +1582,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1463,25 +1598,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::ADD,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1540,7 +1675,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1558,6 +1693,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1609,33 +1771,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1648,7 +1783,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1657,13 +1792,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1681,7 +1843,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -1690,7 +1852,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1706,25 +1868,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::ADD,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1784,7 +1946,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1802,6 +1964,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1853,33 +2042,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -1892,7 +2054,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1901,13 +2063,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1925,7 +2114,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1934,7 +2123,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1950,25 +2139,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::ADD,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 168, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 168, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2027,13 +2216,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2042,7 +2231,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2096,34 +2312,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2135,13 +2324,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -2150,7 +2366,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2168,7 +2384,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 8},
+            .location = {.poolIndex = 0, .offset = 61, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -2177,7 +2393,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2193,25 +2409,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::ADD,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/avg_pool_v1_2.model.cpp b/runtime/test/generated/vts_models/avg_pool_v1_2.model.cpp
index ba5acfd..f5253f8 100644
--- a/runtime/test/generated/vts_models/avg_pool_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/avg_pool_v1_2.model.cpp
@@ -11068,7 +11068,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11086,6 +11086,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11137,33 +11164,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -11176,7 +11176,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11185,13 +11185,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11209,33 +11236,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -11284,6 +11284,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -11297,25 +11324,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11374,7 +11401,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11392,6 +11419,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11443,33 +11497,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -11482,7 +11509,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11491,13 +11518,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11515,33 +11569,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -11590,6 +11617,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -11603,25 +11657,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11681,7 +11735,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11699,6 +11753,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11750,33 +11831,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -11789,7 +11843,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11798,13 +11852,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -11822,33 +11903,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
@@ -11897,6 +11951,33 @@
             .location = {.poolIndex = 0, .offset = 91, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 95, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 99, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 103, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -11910,25 +11991,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11987,13 +12068,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -12002,7 +12083,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -12056,34 +12164,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -12095,13 +12176,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -12110,7 +12218,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -12128,24 +12236,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -12203,6 +12293,24 @@
             .location = {.poolIndex = 0, .offset = 85, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -12216,25 +12324,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12293,7 +12401,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12311,6 +12419,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -12362,33 +12497,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -12401,7 +12509,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12410,13 +12518,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -12434,33 +12569,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -12509,6 +12617,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -12522,25 +12657,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12599,7 +12734,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12617,6 +12752,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -12668,33 +12830,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -12707,7 +12842,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12716,13 +12851,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -12740,33 +12902,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -12815,6 +12950,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -12828,25 +12990,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12906,7 +13068,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12924,6 +13086,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -12975,33 +13164,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -13014,7 +13176,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -13023,13 +13185,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -13047,33 +13236,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
@@ -13122,6 +13284,33 @@
             .location = {.poolIndex = 0, .offset = 91, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 95, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 99, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 103, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -13135,25 +13324,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -13212,13 +13401,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -13227,7 +13416,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -13281,34 +13497,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -13320,13 +13509,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -13335,7 +13551,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -13353,24 +13569,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -13428,6 +13626,24 @@
             .location = {.poolIndex = 0, .offset = 85, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -13441,25 +13657,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -13518,7 +13734,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -13536,6 +13752,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -13587,33 +13830,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -13626,7 +13842,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -13635,13 +13851,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -13659,33 +13902,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -13734,6 +13950,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -13747,25 +13990,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -13824,7 +14067,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -13842,6 +14085,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -13893,33 +14163,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -13932,7 +14175,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -13941,13 +14184,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -13965,33 +14235,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -14040,6 +14283,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -14053,25 +14323,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -14131,7 +14401,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -14149,6 +14419,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -14200,33 +14497,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -14239,7 +14509,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -14248,13 +14518,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -14272,33 +14569,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
@@ -14347,6 +14617,33 @@
             .location = {.poolIndex = 0, .offset = 91, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 95, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 99, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 103, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -14360,25 +14657,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -14437,13 +14734,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -14452,7 +14749,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -14506,34 +14830,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -14545,13 +14842,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -14560,7 +14884,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -14578,24 +14902,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -14653,6 +14959,24 @@
             .location = {.poolIndex = 0, .offset = 85, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -14666,25 +14990,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -14743,7 +15067,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -14761,6 +15085,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -14812,33 +15163,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -14851,7 +15175,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -14860,13 +15184,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -14884,33 +15235,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -14959,6 +15283,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -14972,25 +15323,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -15049,7 +15400,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -15067,6 +15418,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -15118,33 +15496,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -15157,7 +15508,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -15166,13 +15517,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -15190,33 +15568,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -15265,6 +15616,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -15278,25 +15656,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -15356,7 +15734,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -15374,6 +15752,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -15425,33 +15830,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -15464,7 +15842,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -15473,13 +15851,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -15497,7 +15902,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -15506,7 +15911,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -15515,7 +15920,3709 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
+            .location = {.poolIndex = 0, .offset = 79, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 83, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 87, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 91, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 95, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 99, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 103, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 0, 0, 0},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::AVERAGE_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
+    std::vector<uint8_t> operandValues = {
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_dynamic_output_shape_nchw_quant8(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_dynamic_output_shape_nchw_float16() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 73, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 0, 0, 0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::AVERAGE_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
+    std::vector<uint8_t> operandValues = {
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_dynamic_output_shape_nchw_float16(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nhwc_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 32},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 68, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 72, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 76, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::AVERAGE_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nhwc_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nhwc_relaxed_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 32},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 68, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 72, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 76, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::AVERAGE_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+        .relaxComputationFloat32toFloat16 = true,
+    };
+}
+
+inline bool is_ignored_zero_sized_nhwc_relaxed_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nhwc_quant8_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT16_ASYMM,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.125f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 2, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 18, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 22, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT16_ASYMM,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.125f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 46, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 54, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 79, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 83, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 87, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 91, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::AVERAGE_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nhwc_quant8_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nhwc_float16_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 73, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::AVERAGE_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nhwc_float16_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nchw_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 32},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 68, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 72, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 76, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::AVERAGE_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nchw_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nchw_relaxed_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 32},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 68, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 72, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 76, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::AVERAGE_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+        .relaxComputationFloat32toFloat16 = true,
+    };
+}
+
+inline bool is_ignored_zero_sized_nchw_relaxed_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nchw_quant8_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT16_ASYMM,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.125f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 2, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 18, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 22, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT16_ASYMM,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.125f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 46, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 54, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 79, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 83, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 87, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 91, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::AVERAGE_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nchw_quant8_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nchw_float16_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 73, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::AVERAGE_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nchw_float16_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_dynamic_output_shape_nhwc_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 32},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 68, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 72, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 76, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 0, 0, 0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::AVERAGE_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_dynamic_output_shape_nhwc_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_dynamic_output_shape_nhwc_relaxed_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 32},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 68, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 72, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 76, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 0, 0, 0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::AVERAGE_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+        .relaxComputationFloat32toFloat16 = true,
+    };
+}
+
+inline bool is_ignored_zero_sized_dynamic_output_shape_nhwc_relaxed_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_dynamic_output_shape_nhwc_quant8_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT16_ASYMM,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.125f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 2, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 18, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 22, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT16_ASYMM,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.125f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 46, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 54, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
         },
         {
             .type = OperandType::INT32,
@@ -15585,3403 +19692,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
             .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_dynamic_output_shape_nchw_quant8(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_dynamic_output_shape_nchw_float16() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 20, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 24, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 0, 0, 0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
-    std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_dynamic_output_shape_nchw_float16(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nhwc_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 8},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 8, .length = 32},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 68, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 72, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 76, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nhwc_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nhwc_relaxed_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 8},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 8, .length = 32},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 68, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 72, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 76, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-        .relaxComputationFloat32toFloat16 = true,
-    };
-}
-
-inline bool is_ignored_zero_sized_nhwc_relaxed_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nhwc_quant8_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 2},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.125f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 18, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 22, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 30, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.125f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 46, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 50, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 54, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 71, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 75, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 79, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nhwc_quant8_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nhwc_float16_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 20, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 24, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nhwc_float16_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nchw_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 8},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 8, .length = 32},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 68, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 72, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 76, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nchw_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nchw_relaxed_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 8},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 8, .length = 32},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 68, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 72, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 76, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-        .relaxComputationFloat32toFloat16 = true,
-    };
-}
-
-inline bool is_ignored_zero_sized_nchw_relaxed_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nchw_quant8_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 2},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.125f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 18, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 22, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 30, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.125f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 46, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 50, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 54, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 71, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 75, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 79, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nchw_quant8_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nchw_float16_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 20, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 24, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nchw_float16_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_dynamic_output_shape_nhwc_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 8},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 8, .length = 32},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 68, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 72, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 76, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 0, 0, 0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_dynamic_output_shape_nhwc_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_dynamic_output_shape_nhwc_relaxed_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 8},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 8, .length = 32},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 68, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 72, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 76, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 0, 0, 0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-        .relaxComputationFloat32toFloat16 = true,
-    };
-}
-
-inline bool is_ignored_zero_sized_dynamic_output_shape_nhwc_relaxed_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_dynamic_output_shape_nhwc_quant8_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 2},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.125f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 18, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 22, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 30, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.125f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 46, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 50, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 54, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 71, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 75, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 79, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 0, 0, 0},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -19040,13 +19769,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -19055,7 +19784,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -19109,34 +19865,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -19148,13 +19877,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -19163,7 +19919,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -19181,24 +19937,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -19229,6 +19967,24 @@
             .location = {.poolIndex = 0, .offset = 73, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -19242,25 +19998,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -19319,7 +20075,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -19337,6 +20093,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -19388,33 +20171,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -19427,7 +20183,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -19436,13 +20192,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -19460,33 +20243,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -19508,6 +20264,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -19521,25 +20304,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -19598,7 +20381,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -19616,6 +20399,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -19667,33 +20477,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -19706,7 +20489,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -19715,13 +20498,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -19739,33 +20549,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -19787,6 +20570,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -19800,25 +20610,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -19878,7 +20688,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -19896,6 +20706,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -19947,33 +20784,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -19986,7 +20796,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -19995,13 +20805,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -20019,33 +20856,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
@@ -20067,6 +20877,33 @@
             .location = {.poolIndex = 0, .offset = 79, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 83, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 87, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 91, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -20080,25 +20917,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -20157,13 +20994,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -20172,7 +21009,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -20226,34 +21090,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -20265,13 +21102,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -20280,7 +21144,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -20298,24 +21162,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -20346,6 +21192,24 @@
             .location = {.poolIndex = 0, .offset = 73, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -20359,25 +21223,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::AVERAGE_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/bbox_graph.model.cpp b/runtime/test/generated/vts_models/bbox_graph.model.cpp
index 1748068..e55b250 100644
--- a/runtime/test/generated/vts_models/bbox_graph.model.cpp
+++ b/runtime/test/generated/vts_models/bbox_graph.model.cpp
@@ -292,7 +292,7 @@
             .location = {.poolIndex = 0, .offset = 257, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -310,6 +310,33 @@
             .location = {.poolIndex = 0, .offset = 265, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 269, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 273, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 277, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -375,15 +402,15 @@
         },
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {29, 30, 13, 31, 32, 33},
-            .outputs = {34, 35, 36, 37},
+            .inputs = {29, 30, 13, 31, 32, 33, 34, 35, 36},
+            .outputs = {37, 38, 39, 40},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2, 3, 14};
-    const std::vector<uint32_t> outputIndexes = {11, 34, 35, 36, 37};
+    const std::vector<uint32_t> outputIndexes = {11, 37, 38, 39, 40};
     std::vector<uint8_t> operandValues = {
-      0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 255, 255, 255, 255, 255, 154, 153, 153, 62, 0, 0, 32, 65, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 205, 204, 204, 61, 154, 153, 153, 62, 255, 255, 255, 255
+      0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 255, 255, 255, 255, 255, 154, 153, 153, 62, 0, 0, 32, 65, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 205, 204, 204, 61, 255, 255, 255, 255, 0, 0, 0, 0, 154, 153, 153, 62, 0, 0, 128, 63, 205, 204, 204, 61
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -694,7 +721,7 @@
             .location = {.poolIndex = 0, .offset = 257, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -712,6 +739,33 @@
             .location = {.poolIndex = 0, .offset = 265, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 269, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 273, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 277, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -777,15 +831,15 @@
         },
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {29, 30, 13, 31, 32, 33},
-            .outputs = {34, 35, 36, 37},
+            .inputs = {29, 30, 13, 31, 32, 33, 34, 35, 36},
+            .outputs = {37, 38, 39, 40},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2, 3, 14};
-    const std::vector<uint32_t> outputIndexes = {11, 34, 35, 36, 37};
+    const std::vector<uint32_t> outputIndexes = {11, 37, 38, 39, 40};
     std::vector<uint8_t> operandValues = {
-      0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 255, 255, 255, 255, 255, 154, 153, 153, 62, 0, 0, 32, 65, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 205, 204, 204, 61, 154, 153, 153, 62, 255, 255, 255, 255
+      0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 255, 255, 255, 255, 255, 154, 153, 153, 62, 0, 0, 32, 65, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 205, 204, 204, 61, 255, 255, 255, 255, 0, 0, 0, 0, 154, 153, 153, 62, 0, 0, 128, 63, 205, 204, 204, 61
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1097,13 +1151,13 @@
             .location = {.poolIndex = 0, .offset = 145, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 147, .length = 2},
+            .location = {.poolIndex = 0, .offset = 147, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1112,7 +1166,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 149, .length = 4},
+            .location = {.poolIndex = 0, .offset = 151, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 155, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 157, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 159, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1180,15 +1261,15 @@
         },
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {29, 30, 13, 31, 32, 33},
-            .outputs = {34, 35, 36, 37},
+            .inputs = {29, 30, 13, 31, 32, 33, 34, 35, 36},
+            .outputs = {37, 38, 39, 40},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2, 3, 14};
-    const std::vector<uint32_t> outputIndexes = {11, 34, 35, 36, 37};
+    const std::vector<uint32_t> outputIndexes = {11, 37, 38, 39, 40};
     std::vector<uint8_t> operandValues = {
-      0, 60, 0, 60, 255, 255, 255, 255, 255, 255, 255, 255, 205, 52, 0, 73, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 60, 0, 60, 4, 0, 0, 0, 4, 0, 0, 0, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 0, 0, 0, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 0, 0, 0, 102, 46, 205, 52, 255, 255, 255, 255
+      0, 60, 0, 60, 255, 255, 255, 255, 255, 255, 255, 255, 205, 52, 0, 73, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 60, 0, 60, 4, 0, 0, 0, 4, 0, 0, 0, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 0, 0, 0, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 0, 0, 0, 102, 46, 255, 255, 255, 255, 0, 0, 0, 0, 205, 52, 0, 60, 102, 46
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1499,7 +1580,7 @@
             .location = {.poolIndex = 0, .offset = 137, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1517,6 +1598,33 @@
             .location = {.poolIndex = 0, .offset = 145, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 149, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 153, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 157, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1582,15 +1690,15 @@
         },
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {29, 30, 13, 31, 32, 33},
-            .outputs = {34, 35, 36, 37},
+            .inputs = {29, 30, 13, 31, 32, 33, 34, 35, 36},
+            .outputs = {37, 38, 39, 40},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2, 3, 14};
-    const std::vector<uint32_t> outputIndexes = {11, 34, 35, 36, 37};
+    const std::vector<uint32_t> outputIndexes = {11, 37, 38, 39, 40};
     std::vector<uint8_t> operandValues = {
-      0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 255, 255, 255, 255, 255, 154, 153, 153, 62, 0, 0, 32, 65, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 4, 0, 0, 0, 4, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 100, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 205, 204, 204, 61, 154, 153, 153, 62, 255, 255, 255, 255
+      0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 255, 255, 255, 255, 255, 154, 153, 153, 62, 0, 0, 32, 65, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 4, 0, 0, 0, 4, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 100, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 205, 204, 204, 61, 255, 255, 255, 255, 0, 0, 0, 0, 154, 153, 153, 62, 0, 0, 128, 63, 205, 204, 204, 61
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1901,7 +2009,7 @@
             .location = {.poolIndex = 0, .offset = 257, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1919,6 +2027,33 @@
             .location = {.poolIndex = 0, .offset = 265, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 269, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 273, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 277, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1984,15 +2119,15 @@
         },
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {29, 30, 13, 31, 32, 33},
-            .outputs = {34, 35, 36, 37},
+            .inputs = {29, 30, 13, 31, 32, 33, 34, 35, 36},
+            .outputs = {37, 38, 39, 40},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2, 3, 14};
-    const std::vector<uint32_t> outputIndexes = {11, 34, 35, 36, 37};
+    const std::vector<uint32_t> outputIndexes = {11, 37, 38, 39, 40};
     std::vector<uint8_t> operandValues = {
-      0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 255, 255, 255, 255, 255, 154, 153, 153, 62, 0, 0, 32, 65, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 205, 204, 204, 61, 154, 153, 153, 62, 255, 255, 255, 255
+      0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 255, 255, 255, 255, 255, 154, 153, 153, 62, 0, 0, 32, 65, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 205, 204, 204, 61, 255, 255, 255, 255, 0, 0, 0, 0, 154, 153, 153, 62, 0, 0, 128, 63, 205, 204, 204, 61
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2303,7 +2438,7 @@
             .location = {.poolIndex = 0, .offset = 257, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2321,6 +2456,33 @@
             .location = {.poolIndex = 0, .offset = 265, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 269, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 273, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 277, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2386,15 +2548,15 @@
         },
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {29, 30, 13, 31, 32, 33},
-            .outputs = {34, 35, 36, 37},
+            .inputs = {29, 30, 13, 31, 32, 33, 34, 35, 36},
+            .outputs = {37, 38, 39, 40},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2, 3, 14};
-    const std::vector<uint32_t> outputIndexes = {11, 34, 35, 36, 37};
+    const std::vector<uint32_t> outputIndexes = {11, 37, 38, 39, 40};
     std::vector<uint8_t> operandValues = {
-      0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 255, 255, 255, 255, 255, 154, 153, 153, 62, 0, 0, 32, 65, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 205, 204, 204, 61, 154, 153, 153, 62, 255, 255, 255, 255
+      0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 255, 255, 255, 255, 255, 154, 153, 153, 62, 0, 0, 32, 65, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 205, 204, 204, 61, 255, 255, 255, 255, 0, 0, 0, 0, 154, 153, 153, 62, 0, 0, 128, 63, 205, 204, 204, 61
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2706,13 +2868,13 @@
             .location = {.poolIndex = 0, .offset = 145, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 147, .length = 2},
+            .location = {.poolIndex = 0, .offset = 147, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2721,7 +2883,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 149, .length = 4},
+            .location = {.poolIndex = 0, .offset = 151, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 155, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 157, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 159, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2789,15 +2978,15 @@
         },
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {29, 30, 13, 31, 32, 33},
-            .outputs = {34, 35, 36, 37},
+            .inputs = {29, 30, 13, 31, 32, 33, 34, 35, 36},
+            .outputs = {37, 38, 39, 40},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2, 3, 14};
-    const std::vector<uint32_t> outputIndexes = {11, 34, 35, 36, 37};
+    const std::vector<uint32_t> outputIndexes = {11, 37, 38, 39, 40};
     std::vector<uint8_t> operandValues = {
-      0, 60, 0, 60, 255, 255, 255, 255, 255, 255, 255, 255, 205, 52, 0, 73, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 60, 0, 60, 4, 0, 0, 0, 4, 0, 0, 0, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 0, 0, 0, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 0, 0, 0, 102, 46, 205, 52, 255, 255, 255, 255
+      0, 60, 0, 60, 255, 255, 255, 255, 255, 255, 255, 255, 205, 52, 0, 73, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 60, 0, 60, 4, 0, 0, 0, 4, 0, 0, 0, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 0, 0, 0, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 0, 0, 0, 102, 46, 255, 255, 255, 255, 0, 0, 0, 0, 205, 52, 0, 60, 102, 46
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -3108,7 +3297,7 @@
             .location = {.poolIndex = 0, .offset = 137, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3126,6 +3315,33 @@
             .location = {.poolIndex = 0, .offset = 145, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 149, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 153, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 157, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -3191,15 +3407,15 @@
         },
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {29, 30, 13, 31, 32, 33},
-            .outputs = {34, 35, 36, 37},
+            .inputs = {29, 30, 13, 31, 32, 33, 34, 35, 36},
+            .outputs = {37, 38, 39, 40},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2, 3, 14};
-    const std::vector<uint32_t> outputIndexes = {11, 34, 35, 36, 37};
+    const std::vector<uint32_t> outputIndexes = {11, 37, 38, 39, 40};
     std::vector<uint8_t> operandValues = {
-      0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 255, 255, 255, 255, 255, 154, 153, 153, 62, 0, 0, 32, 65, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 4, 0, 0, 0, 4, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 100, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 205, 204, 204, 61, 154, 153, 153, 62, 255, 255, 255, 255
+      0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 255, 255, 255, 255, 255, 154, 153, 153, 62, 0, 0, 32, 65, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 4, 0, 0, 0, 4, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 100, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 205, 204, 204, 61, 255, 255, 255, 255, 0, 0, 0, 0, 154, 153, 153, 62, 0, 0, 128, 63, 205, 204, 204, 61
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/box_with_nms_limit.model.cpp b/runtime/test/generated/vts_models/box_with_nms_limit_gaussian.model.cpp
similarity index 75%
copy from runtime/test/generated/vts_models/box_with_nms_limit.model.cpp
copy to runtime/test/generated/vts_models/box_with_nms_limit_gaussian.model.cpp
index 8fb058f..d486e54 100644
--- a/runtime/test/generated/vts_models/box_with_nms_limit.model.cpp
+++ b/runtime/test/generated/vts_models/box_with_nms_limit_gaussian.model.cpp
@@ -1,5 +1,5 @@
 // clang-format off
-// Generated file (from: box_with_nms_limit.mod.py). Do not edit
+// Generated file (from: box_with_nms_limit_gaussian.mod.py). Do not edit
 // Create the model
 Model createTestModel() {
     const std::vector<Operand> operands = {
@@ -40,7 +40,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -58,8 +58,35 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {12},
+            .dimensions = {18},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -68,7 +95,7 @@
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {12, 4},
+            .dimensions = {18, 4},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -77,7 +104,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {18},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -86,7 +113,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {18},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -98,15 +125,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 2, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -165,7 +192,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -183,8 +210,35 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {12},
+            .dimensions = {18},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -193,7 +247,7 @@
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {12, 4},
+            .dimensions = {18, 4},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -202,7 +256,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {18},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -211,7 +265,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {18},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -223,15 +277,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 2, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -291,13 +345,13 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 2},
+            .location = {.poolIndex = 0, .offset = 2, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -306,11 +360,38 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+            .location = {.poolIndex = 0, .offset = 6, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 10, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 14, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {12},
+            .dimensions = {18},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -319,7 +400,7 @@
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {12, 4},
+            .dimensions = {18, 4},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -328,7 +409,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {18},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -337,7 +418,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {18},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -349,15 +430,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      205, 52, 102, 54, 255, 255, 255, 255
+      205, 52, 255, 255, 255, 255, 2, 0, 0, 0, 102, 54, 0, 56, 205, 52
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -416,7 +497,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -434,8 +515,35 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {12},
+            .dimensions = {18},
             .numberOfConsumers = 0,
             .scale = 0.01f,
             .zeroPoint = 0,
@@ -444,7 +552,7 @@
         },
         {
             .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {12, 4},
+            .dimensions = {18, 4},
             .numberOfConsumers = 0,
             .scale = 0.125f,
             .zeroPoint = 0,
@@ -453,7 +561,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {18},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -462,7 +570,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {18},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -474,15 +582,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 2, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -541,7 +649,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -559,6 +667,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -599,15 +734,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 2, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -666,7 +801,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -684,6 +819,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -724,15 +886,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 2, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -792,13 +954,13 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 2},
+            .location = {.poolIndex = 0, .offset = 2, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -807,7 +969,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+            .location = {.poolIndex = 0, .offset = 6, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 10, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 14, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -850,15 +1039,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      205, 52, 102, 54, 255, 255, 255, 255
+      205, 52, 255, 255, 255, 255, 2, 0, 0, 0, 102, 54, 0, 56, 205, 52
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -917,7 +1106,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -935,6 +1124,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -975,15 +1191,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 2, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1042,7 +1258,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1060,6 +1276,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {10},
             .numberOfConsumers = 0,
@@ -1100,15 +1343,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 5, 0, 0, 0, 2, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1167,7 +1410,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1185,6 +1428,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {10},
             .numberOfConsumers = 0,
@@ -1225,15 +1495,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 5, 0, 0, 0, 2, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1293,13 +1563,13 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 2},
+            .location = {.poolIndex = 0, .offset = 2, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1308,7 +1578,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+            .location = {.poolIndex = 0, .offset = 6, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 10, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 14, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1351,15 +1648,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      205, 52, 102, 54, 5, 0, 0, 0
+      205, 52, 5, 0, 0, 0, 2, 0, 0, 0, 102, 54, 0, 56, 205, 52
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1418,7 +1715,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1436,6 +1733,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {10},
             .numberOfConsumers = 0,
@@ -1476,15 +1800,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 5, 0, 0, 0, 2, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1543,7 +1867,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1561,6 +1885,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1601,15 +1952,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 5, 0, 0, 0, 2, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1668,7 +2019,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1686,6 +2037,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1726,15 +2104,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 5, 0, 0, 0, 2, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1794,13 +2172,13 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 2},
+            .location = {.poolIndex = 0, .offset = 2, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1809,7 +2187,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+            .location = {.poolIndex = 0, .offset = 6, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 10, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 14, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1852,15 +2257,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      205, 52, 102, 54, 5, 0, 0, 0
+      205, 52, 5, 0, 0, 0, 2, 0, 0, 0, 102, 54, 0, 56, 205, 52
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1919,7 +2324,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1937,6 +2342,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1977,15 +2409,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 5, 0, 0, 0, 2, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/box_with_nms_limit.model.cpp b/runtime/test/generated/vts_models/box_with_nms_limit_hard.model.cpp
similarity index 76%
rename from runtime/test/generated/vts_models/box_with_nms_limit.model.cpp
rename to runtime/test/generated/vts_models/box_with_nms_limit_hard.model.cpp
index 8fb058f..7ae7229 100644
--- a/runtime/test/generated/vts_models/box_with_nms_limit.model.cpp
+++ b/runtime/test/generated/vts_models/box_with_nms_limit_hard.model.cpp
@@ -1,5 +1,5 @@
 // clang-format off
-// Generated file (from: box_with_nms_limit.mod.py). Do not edit
+// Generated file (from: box_with_nms_limit_hard.mod.py). Do not edit
 // Create the model
 Model createTestModel() {
     const std::vector<Operand> operands = {
@@ -40,7 +40,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -58,6 +58,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {12},
             .numberOfConsumers = 0,
@@ -98,15 +125,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -165,7 +192,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -183,6 +210,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {12},
             .numberOfConsumers = 0,
@@ -223,15 +277,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -291,13 +345,13 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 2},
+            .location = {.poolIndex = 0, .offset = 2, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -306,7 +360,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+            .location = {.poolIndex = 0, .offset = 6, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 10, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 14, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -349,15 +430,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      205, 52, 102, 54, 255, 255, 255, 255
+      205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -416,7 +497,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -434,6 +515,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {12},
             .numberOfConsumers = 0,
@@ -474,15 +582,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -541,7 +649,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -559,6 +667,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -599,15 +734,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -666,7 +801,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -684,6 +819,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -724,15 +886,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -792,13 +954,13 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 2},
+            .location = {.poolIndex = 0, .offset = 2, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -807,7 +969,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+            .location = {.poolIndex = 0, .offset = 6, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 10, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 14, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -850,15 +1039,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      205, 52, 102, 54, 255, 255, 255, 255
+      205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -917,7 +1106,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -935,6 +1124,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -975,15 +1191,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1042,7 +1258,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1060,6 +1276,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {10},
             .numberOfConsumers = 0,
@@ -1100,15 +1343,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 5, 0, 0, 0, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1167,7 +1410,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1185,6 +1428,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {10},
             .numberOfConsumers = 0,
@@ -1225,15 +1495,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 5, 0, 0, 0, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1293,13 +1563,13 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 2},
+            .location = {.poolIndex = 0, .offset = 2, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1308,7 +1578,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+            .location = {.poolIndex = 0, .offset = 6, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 10, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 14, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1351,15 +1648,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      205, 52, 102, 54, 5, 0, 0, 0
+      205, 52, 5, 0, 0, 0, 0, 0, 0, 0, 102, 54, 0, 56, 205, 52
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1418,7 +1715,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1436,6 +1733,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {10},
             .numberOfConsumers = 0,
@@ -1476,15 +1800,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 5, 0, 0, 0, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1543,7 +1867,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1561,6 +1885,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1601,15 +1952,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 5, 0, 0, 0, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1668,7 +2019,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1686,6 +2037,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1726,15 +2104,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 5, 0, 0, 0, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1794,13 +2172,13 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 2},
+            .location = {.poolIndex = 0, .offset = 2, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1809,7 +2187,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+            .location = {.poolIndex = 0, .offset = 6, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 10, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 14, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1852,15 +2257,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      205, 52, 102, 54, 5, 0, 0, 0
+      205, 52, 5, 0, 0, 0, 0, 0, 0, 0, 102, 54, 0, 56, 205, 52
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1919,7 +2324,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1937,6 +2342,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1977,15 +2409,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 5, 0, 0, 0, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/box_with_nms_limit.model.cpp b/runtime/test/generated/vts_models/box_with_nms_limit_linear.model.cpp
similarity index 75%
copy from runtime/test/generated/vts_models/box_with_nms_limit.model.cpp
copy to runtime/test/generated/vts_models/box_with_nms_limit_linear.model.cpp
index 8fb058f..bc72d00 100644
--- a/runtime/test/generated/vts_models/box_with_nms_limit.model.cpp
+++ b/runtime/test/generated/vts_models/box_with_nms_limit_linear.model.cpp
@@ -1,5 +1,5 @@
 // clang-format off
-// Generated file (from: box_with_nms_limit.mod.py). Do not edit
+// Generated file (from: box_with_nms_limit_linear.mod.py). Do not edit
 // Create the model
 Model createTestModel() {
     const std::vector<Operand> operands = {
@@ -40,7 +40,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -58,8 +58,35 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {12},
+            .dimensions = {16},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -68,7 +95,7 @@
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {12, 4},
+            .dimensions = {16, 4},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -77,7 +104,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {16},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -86,7 +113,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {16},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -98,15 +125,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 1, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -165,7 +192,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -183,8 +210,35 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {12},
+            .dimensions = {16},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -193,7 +247,7 @@
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {12, 4},
+            .dimensions = {16, 4},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -202,7 +256,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {16},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -211,7 +265,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {16},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -223,15 +277,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 1, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -291,13 +345,13 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 2},
+            .location = {.poolIndex = 0, .offset = 2, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -306,11 +360,38 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+            .location = {.poolIndex = 0, .offset = 6, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 10, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 14, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {12},
+            .dimensions = {16},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -319,7 +400,7 @@
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {12, 4},
+            .dimensions = {16, 4},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -328,7 +409,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {16},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -337,7 +418,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {16},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -349,15 +430,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      205, 52, 102, 54, 255, 255, 255, 255
+      205, 52, 255, 255, 255, 255, 1, 0, 0, 0, 102, 54, 0, 60, 205, 52
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -416,7 +497,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -434,8 +515,35 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {12},
+            .dimensions = {16},
             .numberOfConsumers = 0,
             .scale = 0.01f,
             .zeroPoint = 0,
@@ -444,7 +552,7 @@
         },
         {
             .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {12, 4},
+            .dimensions = {16, 4},
             .numberOfConsumers = 0,
             .scale = 0.125f,
             .zeroPoint = 0,
@@ -453,7 +561,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {16},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -462,7 +570,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {12},
+            .dimensions = {16},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -474,15 +582,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 1, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -541,7 +649,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -559,6 +667,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -599,15 +734,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 1, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -666,7 +801,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -684,6 +819,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -724,15 +886,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 1, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -792,13 +954,13 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 2},
+            .location = {.poolIndex = 0, .offset = 2, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -807,7 +969,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+            .location = {.poolIndex = 0, .offset = 6, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 10, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 14, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -850,15 +1039,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      205, 52, 102, 54, 255, 255, 255, 255
+      205, 52, 255, 255, 255, 255, 1, 0, 0, 0, 102, 54, 0, 60, 205, 52
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -917,7 +1106,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -935,6 +1124,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -975,15 +1191,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255
+      154, 153, 153, 62, 255, 255, 255, 255, 1, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1042,7 +1258,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1060,8 +1276,35 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {10},
+            .dimensions = {15},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1070,7 +1313,7 @@
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {10, 4},
+            .dimensions = {15, 4},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1079,7 +1322,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {10},
+            .dimensions = {15},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1088,7 +1331,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {10},
+            .dimensions = {15},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1100,15 +1343,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 8, 0, 0, 0, 1, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1167,7 +1410,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1185,8 +1428,35 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {10},
+            .dimensions = {15},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1195,7 +1465,7 @@
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {10, 4},
+            .dimensions = {15, 4},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1204,7 +1474,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {10},
+            .dimensions = {15},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1213,7 +1483,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {10},
+            .dimensions = {15},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1225,15 +1495,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 8, 0, 0, 0, 1, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1293,13 +1563,13 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 2},
+            .location = {.poolIndex = 0, .offset = 2, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1308,11 +1578,38 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+            .location = {.poolIndex = 0, .offset = 6, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 10, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 14, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {10},
+            .dimensions = {15},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1321,7 +1618,7 @@
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {10, 4},
+            .dimensions = {15, 4},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1330,7 +1627,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {10},
+            .dimensions = {15},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1339,7 +1636,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {10},
+            .dimensions = {15},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1351,15 +1648,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      205, 52, 102, 54, 5, 0, 0, 0
+      205, 52, 8, 0, 0, 0, 1, 0, 0, 0, 102, 54, 0, 56, 205, 52
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1418,7 +1715,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1436,8 +1733,35 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {10},
+            .dimensions = {15},
             .numberOfConsumers = 0,
             .scale = 0.01f,
             .zeroPoint = 128,
@@ -1446,7 +1770,7 @@
         },
         {
             .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {10, 4},
+            .dimensions = {15, 4},
             .numberOfConsumers = 0,
             .scale = 0.125f,
             .zeroPoint = 0,
@@ -1455,7 +1779,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {10},
+            .dimensions = {15},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1464,7 +1788,7 @@
         },
         {
             .type = OperandType::TENSOR_INT32,
-            .dimensions = {10},
+            .dimensions = {15},
             .numberOfConsumers = 0,
             .scale = 0.0f,
             .zeroPoint = 0,
@@ -1476,15 +1800,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 8, 0, 0, 0, 1, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1543,7 +1867,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1561,6 +1885,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1601,15 +1952,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 8, 0, 0, 0, 1, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1668,7 +2019,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1686,6 +2037,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1726,15 +2104,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 8, 0, 0, 0, 1, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1794,13 +2172,13 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 2},
+            .location = {.poolIndex = 0, .offset = 2, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1809,7 +2187,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 4},
+            .location = {.poolIndex = 0, .offset = 6, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 10, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 14, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1852,15 +2257,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      205, 52, 102, 54, 5, 0, 0, 0
+      205, 52, 8, 0, 0, 0, 1, 0, 0, 0, 102, 54, 0, 56, 205, 52
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1919,7 +2324,7 @@
             .location = {.poolIndex = 0, .offset = 0, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1937,6 +2342,33 @@
             .location = {.poolIndex = 0, .offset = 8, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 12, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 16, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1977,15 +2409,15 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         }
     };
 
     const std::vector<uint32_t> inputIndexes = {0, 1, 2};
-    const std::vector<uint32_t> outputIndexes = {6, 7, 8, 9};
+    const std::vector<uint32_t> outputIndexes = {9, 10, 11, 12};
     std::vector<uint8_t> operandValues = {
-      154, 153, 153, 62, 205, 204, 204, 62, 5, 0, 0, 0
+      154, 153, 153, 62, 8, 0, 0, 0, 1, 0, 0, 0, 205, 204, 204, 62, 0, 0, 0, 63, 154, 153, 153, 62
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/concat_zero_sized.model.cpp b/runtime/test/generated/vts_models/concat_zero_sized.model.cpp
index 3ea2fa2..951ffda 100644
--- a/runtime/test/generated/vts_models/concat_zero_sized.model.cpp
+++ b/runtime/test/generated/vts_models/concat_zero_sized.model.cpp
@@ -40,7 +40,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -58,6 +58,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -109,33 +136,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -148,7 +148,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -157,13 +157,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -181,7 +208,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -197,25 +224,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 18, 19},
-            .outputs = {20},
+            .inputs = {21, 21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -274,7 +301,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -292,6 +319,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -343,33 +397,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -382,7 +409,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -391,13 +418,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -415,7 +469,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -431,25 +485,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 18, 19},
-            .outputs = {20},
+            .inputs = {21, 21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -509,7 +563,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -527,6 +581,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -578,33 +659,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -617,7 +671,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -626,13 +680,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -650,7 +731,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -666,25 +747,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 18, 19},
-            .outputs = {20},
+            .inputs = {21, 21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -743,13 +824,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -758,7 +839,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -812,34 +920,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -851,13 +932,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -866,7 +974,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -884,7 +992,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -900,25 +1008,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 18, 19},
-            .outputs = {20},
+            .inputs = {21, 21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -977,7 +1085,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -995,6 +1103,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1046,33 +1181,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1085,7 +1193,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1094,13 +1202,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1118,7 +1253,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1134,25 +1269,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 18, 19},
-            .outputs = {20},
+            .inputs = {21, 21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1211,7 +1346,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1229,6 +1364,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1280,33 +1442,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1319,7 +1454,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1328,13 +1463,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1352,7 +1514,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1368,25 +1530,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 18, 19},
-            .outputs = {20},
+            .inputs = {21, 21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1446,7 +1608,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1464,6 +1626,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1515,33 +1704,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -1554,7 +1716,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1563,13 +1725,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1587,7 +1776,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1603,25 +1792,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 18, 19},
-            .outputs = {20},
+            .inputs = {21, 21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1680,13 +1869,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1695,7 +1884,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1749,34 +1965,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1788,13 +1977,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1803,7 +2019,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1821,7 +2037,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1837,25 +2053,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 18, 19},
-            .outputs = {20},
+            .inputs = {21, 21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1914,7 +2130,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1932,6 +2148,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1983,33 +2226,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -2022,7 +2238,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2031,13 +2247,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2064,7 +2307,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2080,25 +2323,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10, 19};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13, 22};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2157,7 +2400,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2175,6 +2418,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2226,33 +2496,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -2265,7 +2508,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2274,13 +2517,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2307,7 +2577,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2323,25 +2593,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10, 19};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13, 22};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2401,7 +2671,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2419,6 +2689,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2470,33 +2767,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -2509,7 +2779,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2518,13 +2788,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2551,7 +2848,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2567,25 +2864,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10, 19};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13, 22};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2644,13 +2941,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2659,7 +2956,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2713,34 +3037,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2752,13 +3049,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -2767,7 +3091,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2794,7 +3118,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2810,25 +3134,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10, 19};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13, 22};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2887,7 +3211,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2905,6 +3229,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2956,33 +3307,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -2995,7 +3319,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3004,13 +3328,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3037,7 +3388,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3053,25 +3404,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10, 19};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13, 22};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -3130,7 +3481,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3148,6 +3499,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -3199,33 +3577,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -3238,7 +3589,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3247,13 +3598,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3280,7 +3658,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3296,25 +3674,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10, 19};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13, 22};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -3374,7 +3752,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3392,6 +3770,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -3443,33 +3848,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -3482,7 +3860,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3491,13 +3869,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -3524,7 +3929,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -3540,25 +3945,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10, 19};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13, 22};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -3617,13 +4022,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -3632,7 +4037,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -3686,34 +4118,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -3725,13 +4130,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -3740,7 +4172,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -3767,7 +4199,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -3783,25 +4215,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONCATENATION,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10, 19};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13, 22};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/conv2d_per_channel.model.cpp b/runtime/test/generated/vts_models/conv2d_per_channel.model.cpp
index 69ba938..66c2769 100644
--- a/runtime/test/generated/vts_models/conv2d_per_channel.model.cpp
+++ b/runtime/test/generated/vts_models/conv2d_per_channel.model.cpp
@@ -1718,8 +1718,8 @@
 
 // Create the model
 Model createTestModel_zero_sized_nhwc() {
-    Operand::ExtraParams extraParams19;
-    extraParams19.channelQuant(SymmPerChannelQuantParams{.scales={0.5f, 0.75f, 1.0f}, .channelDim=0});
+    Operand::ExtraParams extraParams22;
+    extraParams22.channelQuant(SymmPerChannelQuantParams{.scales={0.5f, 0.75f, 1.0f}, .channelDim=0});
     const std::vector<Operand> operands = {
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1758,7 +1758,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1776,6 +1776,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1827,33 +1854,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -1866,7 +1866,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1875,13 +1875,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1899,8 +1926,8 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 6},
-            .extraParams = std::move(extraParams19),
+            .location = {.poolIndex = 0, .offset = 71, .length = 6},
+            .extraParams = std::move(extraParams22),
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -1909,34 +1936,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 12},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 77, .length = 12},
         },
         {
             .type = OperandType::INT32,
@@ -1975,6 +1975,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 2, 2, 3},
             .numberOfConsumers = 0,
@@ -1988,25 +2015,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      137, 129, 1, 0, 1, 0, 10, 0, 10, 0, 0, 0, 0, 0, 10, 0, 10, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 2, 1, 2, 1, 2, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 1, 0, 1, 0, 10, 0, 10, 0, 0, 0, 0, 0, 10, 0, 10, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 2, 1, 2, 1, 2, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2027,8 +2054,8 @@
 
 // Create the model
 Model createTestModel_zero_sized_nchw() {
-    Operand::ExtraParams extraParams19;
-    extraParams19.channelQuant(SymmPerChannelQuantParams{.scales={0.5f, 0.75f, 1.0f}, .channelDim=0});
+    Operand::ExtraParams extraParams22;
+    extraParams22.channelQuant(SymmPerChannelQuantParams{.scales={0.5f, 0.75f, 1.0f}, .channelDim=0});
     const std::vector<Operand> operands = {
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2067,7 +2094,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2085,6 +2112,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2136,33 +2190,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -2175,7 +2202,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2184,13 +2211,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2208,8 +2262,8 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 6},
-            .extraParams = std::move(extraParams19),
+            .location = {.poolIndex = 0, .offset = 71, .length = 6},
+            .extraParams = std::move(extraParams22),
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -2218,34 +2272,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 12},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 77, .length = 12},
         },
         {
             .type = OperandType::INT32,
@@ -2284,6 +2311,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 3, 2, 2},
             .numberOfConsumers = 0,
@@ -2297,25 +2351,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      137, 129, 1, 0, 1, 0, 10, 0, 10, 0, 0, 0, 0, 0, 10, 0, 10, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 1, 0, 1, 0, 10, 0, 10, 0, 0, 0, 0, 0, 10, 0, 10, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2336,8 +2390,8 @@
 
 // Create the model
 Model createTestModel_zero_sized_dynamic_output_shape_nhwc() {
-    Operand::ExtraParams extraParams19;
-    extraParams19.channelQuant(SymmPerChannelQuantParams{.scales={0.5f, 0.75f, 1.0f}, .channelDim=0});
+    Operand::ExtraParams extraParams22;
+    extraParams22.channelQuant(SymmPerChannelQuantParams{.scales={0.5f, 0.75f, 1.0f}, .channelDim=0});
     const std::vector<Operand> operands = {
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2376,7 +2430,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2394,6 +2448,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2445,33 +2526,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -2484,7 +2538,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2493,13 +2547,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2517,8 +2598,8 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 6},
-            .extraParams = std::move(extraParams19),
+            .location = {.poolIndex = 0, .offset = 71, .length = 6},
+            .extraParams = std::move(extraParams22),
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -2527,34 +2608,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 12},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 77, .length = 12},
         },
         {
             .type = OperandType::INT32,
@@ -2593,6 +2647,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -2606,25 +2687,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      137, 129, 1, 0, 1, 0, 10, 0, 10, 0, 0, 0, 0, 0, 10, 0, 10, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 2, 1, 2, 1, 2, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 1, 0, 1, 0, 10, 0, 10, 0, 0, 0, 0, 0, 10, 0, 10, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 2, 1, 2, 1, 2, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2645,8 +2726,8 @@
 
 // Create the model
 Model createTestModel_zero_sized_dynamic_output_shape_nchw() {
-    Operand::ExtraParams extraParams19;
-    extraParams19.channelQuant(SymmPerChannelQuantParams{.scales={0.5f, 0.75f, 1.0f}, .channelDim=0});
+    Operand::ExtraParams extraParams22;
+    extraParams22.channelQuant(SymmPerChannelQuantParams{.scales={0.5f, 0.75f, 1.0f}, .channelDim=0});
     const std::vector<Operand> operands = {
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2685,7 +2766,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2703,6 +2784,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2754,33 +2862,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -2793,7 +2874,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2802,13 +2883,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2826,8 +2934,8 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 6},
-            .extraParams = std::move(extraParams19),
+            .location = {.poolIndex = 0, .offset = 71, .length = 6},
+            .extraParams = std::move(extraParams22),
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -2836,34 +2944,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 12},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 77, .length = 12},
         },
         {
             .type = OperandType::INT32,
@@ -2902,6 +2983,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -2915,25 +3023,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      137, 129, 1, 0, 1, 0, 10, 0, 10, 0, 0, 0, 0, 0, 10, 0, 10, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 1, 0, 1, 0, 10, 0, 10, 0, 0, 0, 0, 0, 10, 0, 10, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/conv2d_v1_2.model.cpp b/runtime/test/generated/vts_models/conv2d_v1_2.model.cpp
index 8c8dcaa..2b16f75 100644
--- a/runtime/test/generated/vts_models/conv2d_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/conv2d_v1_2.model.cpp
@@ -29580,7 +29580,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -29598,6 +29598,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -29649,33 +29676,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -29688,7 +29688,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -29697,13 +29697,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -29721,7 +29748,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -29730,34 +29757,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -29796,6 +29796,33 @@
             .location = {.poolIndex = 0, .offset = 121, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 129, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 133, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -29809,25 +29836,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -29886,7 +29913,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -29904,6 +29931,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -29955,33 +30009,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -29994,7 +30021,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -30003,13 +30030,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -30027,7 +30081,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -30036,34 +30090,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -30102,6 +30129,33 @@
             .location = {.poolIndex = 0, .offset = 121, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 129, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 133, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -30115,25 +30169,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -30193,7 +30247,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -30211,6 +30265,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -30262,33 +30343,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -30301,7 +30355,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -30310,13 +30364,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -30334,7 +30415,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 2},
+            .location = {.poolIndex = 0, .offset = 71, .length = 2},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -30343,7 +30424,340 @@
             .scale = 0.01f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 8},
+            .location = {.poolIndex = 0, .offset = 73, .length = 8},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 2, 2, 2},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::CONV_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
+    std::vector<uint8_t> operandValues = {
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nhwc_quant8(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nhwc_float16() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {2, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -30409,312 +30823,6 @@
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 2, 2, 2},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
-    std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nhwc_quant8(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nhwc_float16() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 20, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 24, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {2, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -30728,25 +30836,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 66, 0, 68, 0, 60, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 66, 0, 68, 0, 60, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -30805,7 +30913,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -30823,6 +30931,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -30874,33 +31009,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -30913,7 +31021,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -30922,13 +31030,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -30946,7 +31081,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -30955,34 +31090,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -31021,6 +31129,33 @@
             .location = {.poolIndex = 0, .offset = 121, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 129, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 133, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -31034,25 +31169,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -31111,7 +31246,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -31129,6 +31264,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -31180,33 +31342,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -31219,7 +31354,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -31228,13 +31363,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -31252,7 +31414,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -31261,34 +31423,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -31327,6 +31462,33 @@
             .location = {.poolIndex = 0, .offset = 121, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 129, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 133, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -31340,25 +31502,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -31418,7 +31580,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -31436,6 +31598,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -31487,33 +31676,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -31526,7 +31688,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -31535,13 +31697,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -31559,7 +31748,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 2},
+            .location = {.poolIndex = 0, .offset = 71, .length = 2},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -31568,7 +31757,340 @@
             .scale = 0.01f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 8},
+            .location = {.poolIndex = 0, .offset = 73, .length = 8},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 2, 2, 2},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::CONV_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
+    std::vector<uint8_t> operandValues = {
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nchw_quant8(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nchw_float16() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {2, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -31634,312 +32156,6 @@
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 2, 2, 2},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
-    std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nchw_quant8(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nchw_float16() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 20, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 24, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {2, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -31953,25 +32169,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 66, 0, 68, 0, 60, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 66, 0, 68, 0, 60, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -32030,7 +32246,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -32048,6 +32264,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -32099,33 +32342,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -32138,7 +32354,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -32147,13 +32363,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -32171,7 +32414,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -32180,34 +32423,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -32246,6 +32462,33 @@
             .location = {.poolIndex = 0, .offset = 121, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 129, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 133, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -32259,25 +32502,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -32336,7 +32579,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -32354,6 +32597,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -32405,33 +32675,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -32444,7 +32687,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -32453,13 +32696,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -32477,7 +32747,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -32486,34 +32756,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -32552,6 +32795,33 @@
             .location = {.poolIndex = 0, .offset = 121, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 129, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 133, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -32565,25 +32835,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -32643,7 +32913,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -32661,6 +32931,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -32712,33 +33009,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -32751,7 +33021,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -32760,13 +33030,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -32784,7 +33081,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 2},
+            .location = {.poolIndex = 0, .offset = 71, .length = 2},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -32793,7 +33090,340 @@
             .scale = 0.01f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 8},
+            .location = {.poolIndex = 0, .offset = 73, .length = 8},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 0, 0, 0},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::CONV_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
+    std::vector<uint8_t> operandValues = {
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_dynamic_output_shape_nhwc_quant8(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_dynamic_output_shape_nhwc_float16() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {2, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -32859,312 +33489,6 @@
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 0, 0, 0},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
-    std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_dynamic_output_shape_nhwc_quant8(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_dynamic_output_shape_nhwc_float16() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 20, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 24, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {2, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -33178,25 +33502,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 66, 0, 68, 0, 60, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 66, 0, 68, 0, 60, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -33255,7 +33579,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -33273,6 +33597,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -33324,33 +33675,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -33363,7 +33687,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -33372,13 +33696,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -33396,7 +33747,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -33405,34 +33756,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -33471,6 +33795,33 @@
             .location = {.poolIndex = 0, .offset = 121, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 129, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 133, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -33484,25 +33835,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -33561,7 +33912,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -33579,6 +33930,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -33630,33 +34008,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -33669,7 +34020,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -33678,13 +34029,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -33702,7 +34080,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -33711,34 +34089,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -33777,6 +34128,33 @@
             .location = {.poolIndex = 0, .offset = 121, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 129, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 133, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -33790,25 +34168,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -33868,7 +34246,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -33886,6 +34264,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -33937,33 +34342,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -33976,7 +34354,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -33985,13 +34363,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -34009,7 +34414,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 2},
+            .location = {.poolIndex = 0, .offset = 71, .length = 2},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -34018,7 +34423,340 @@
             .scale = 0.01f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 8},
+            .location = {.poolIndex = 0, .offset = 73, .length = 8},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 0, 0, 0},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::CONV_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
+    std::vector<uint8_t> operandValues = {
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_dynamic_output_shape_nchw_quant8(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_dynamic_output_shape_nchw_float16() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {2, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -34084,312 +34822,6 @@
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 0, 0, 0},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
-    std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_dynamic_output_shape_nchw_quant8(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_dynamic_output_shape_nchw_float16() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 20, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 24, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {2, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -34403,25 +34835,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 66, 0, 68, 0, 60, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 66, 0, 68, 0, 60, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -34480,7 +34912,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -34498,6 +34930,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -34549,33 +35008,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -34588,7 +35020,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -34597,13 +35029,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -34621,7 +35080,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -34630,34 +35089,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -34669,6 +35101,33 @@
             .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -34682,25 +35141,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -34759,7 +35218,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -34777,6 +35236,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -34828,33 +35314,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -34867,7 +35326,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -34876,13 +35335,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -34900,7 +35386,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -34909,34 +35395,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -34948,6 +35407,33 @@
             .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -34961,25 +35447,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -35039,7 +35525,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -35057,6 +35543,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -35108,33 +35621,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -35147,7 +35633,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -35156,13 +35642,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -35180,7 +35693,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 2},
+            .location = {.poolIndex = 0, .offset = 71, .length = 2},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -35189,34 +35702,7 @@
             .scale = 0.01f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+            .location = {.poolIndex = 0, .offset = 73, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -35228,6 +35714,33 @@
             .location = {.poolIndex = 0, .offset = 81, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -35241,25 +35754,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -35318,13 +35831,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -35333,7 +35846,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -35387,34 +35927,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -35426,13 +35939,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -35441,7 +35981,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -35459,7 +35999,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -35468,24 +36008,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
@@ -35507,6 +36029,24 @@
             .location = {.poolIndex = 0, .offset = 73, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -35520,25 +36060,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 66, 0, 68, 0, 60, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 66, 0, 68, 0, 60, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -35597,7 +36137,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -35615,6 +36155,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -35666,33 +36233,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -35705,7 +36245,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -35714,13 +36254,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -35738,7 +36305,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -35747,34 +36314,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -35786,6 +36326,33 @@
             .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -35799,25 +36366,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -35876,7 +36443,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -35894,6 +36461,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -35945,33 +36539,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -35984,7 +36551,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -35993,13 +36560,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -36017,7 +36611,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -36026,34 +36620,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -36065,6 +36632,33 @@
             .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -36078,25 +36672,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -36156,7 +36750,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -36174,6 +36768,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -36225,33 +36846,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -36264,7 +36858,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -36273,13 +36867,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -36297,7 +36918,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 2},
+            .location = {.poolIndex = 0, .offset = 71, .length = 2},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -36306,34 +36927,7 @@
             .scale = 0.01f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+            .location = {.poolIndex = 0, .offset = 73, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -36345,6 +36939,33 @@
             .location = {.poolIndex = 0, .offset = 81, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -36358,25 +36979,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -36435,13 +37056,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -36450,7 +37071,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -36504,34 +37152,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -36543,13 +37164,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -36558,7 +37206,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -36576,7 +37224,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -36585,24 +37233,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
@@ -36624,6 +37254,24 @@
             .location = {.poolIndex = 0, .offset = 73, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 2, 2, 2},
             .numberOfConsumers = 0,
@@ -36637,25 +37285,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 66, 0, 68, 0, 60, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 66, 0, 68, 0, 60, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -36714,7 +37362,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -36732,6 +37380,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -36783,33 +37458,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -36822,7 +37470,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -36831,13 +37479,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -36855,7 +37530,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -36864,34 +37539,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -36903,6 +37551,33 @@
             .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -36916,25 +37591,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -36993,7 +37668,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -37011,6 +37686,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -37062,33 +37764,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -37101,7 +37776,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -37110,13 +37785,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -37134,7 +37836,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -37143,34 +37845,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -37182,6 +37857,33 @@
             .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -37195,25 +37897,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -37273,7 +37975,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -37291,6 +37993,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -37342,33 +38071,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -37381,7 +38083,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -37390,13 +38092,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -37414,7 +38143,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 2},
+            .location = {.poolIndex = 0, .offset = 71, .length = 2},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -37423,34 +38152,7 @@
             .scale = 0.01f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+            .location = {.poolIndex = 0, .offset = 73, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -37462,6 +38164,33 @@
             .location = {.poolIndex = 0, .offset = 81, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -37475,25 +38204,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -37552,13 +38281,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -37567,7 +38296,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -37621,34 +38377,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -37660,13 +38389,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -37675,7 +38431,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -37693,7 +38449,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -37702,24 +38458,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
@@ -37741,6 +38479,24 @@
             .location = {.poolIndex = 0, .offset = 73, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -37754,25 +38510,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 66, 0, 68, 0, 60, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 66, 0, 68, 0, 60, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -37831,7 +38587,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -37849,6 +38605,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -37900,33 +38683,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -37939,7 +38695,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -37948,13 +38704,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -37972,7 +38755,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -37981,34 +38764,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -38020,6 +38776,33 @@
             .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -38033,25 +38816,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -38110,7 +38893,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -38128,6 +38911,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -38179,33 +38989,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -38218,7 +39001,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -38227,13 +39010,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -38251,7 +39061,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 8},
+            .location = {.poolIndex = 0, .offset = 93, .length = 8},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -38260,34 +39070,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+            .location = {.poolIndex = 0, .offset = 101, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -38299,6 +39082,33 @@
             .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -38312,25 +39122,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -38390,7 +39200,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -38408,6 +39218,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -38459,33 +39296,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -38498,7 +39308,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -38507,13 +39317,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -38531,7 +39368,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 2},
+            .location = {.poolIndex = 0, .offset = 71, .length = 2},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -38540,34 +39377,7 @@
             .scale = 0.01f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 8},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+            .location = {.poolIndex = 0, .offset = 73, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -38579,6 +39389,33 @@
             .location = {.poolIndex = 0, .offset = 81, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -38592,25 +39429,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 158, 168, 100, 0, 0, 0, 200, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -38669,13 +39506,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -38684,7 +39521,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -38738,34 +39602,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -38777,13 +39614,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -38792,7 +39656,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -38810,7 +39674,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -38819,24 +39683,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
@@ -38858,6 +39704,24 @@
             .location = {.poolIndex = 0, .offset = 73, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -38871,25 +39735,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::CONV_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 66, 0, 68, 0, 60, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 66, 0, 68, 0, 60, 0, 64, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/dequantize_v1_2.model.cpp b/runtime/test/generated/vts_models/dequantize_v1_2.model.cpp
index e92a1f6..81bdda3 100644
--- a/runtime/test/generated/vts_models/dequantize_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/dequantize_v1_2.model.cpp
@@ -2026,7 +2026,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2044,6 +2044,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2095,33 +2122,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -2134,7 +2134,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2143,13 +2143,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2174,25 +2201,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::DEQUANTIZE,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2251,7 +2278,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2269,6 +2296,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2320,33 +2374,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -2359,7 +2386,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2368,13 +2395,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2399,25 +2453,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::DEQUANTIZE,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2477,7 +2531,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2495,6 +2549,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2546,33 +2627,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -2585,7 +2639,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2594,13 +2648,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2625,25 +2706,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::DEQUANTIZE,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2702,7 +2783,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2720,6 +2801,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2771,33 +2879,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -2810,7 +2891,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2819,13 +2900,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2850,25 +2958,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::DEQUANTIZE,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2927,7 +3035,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2945,6 +3053,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2996,33 +3131,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -3035,7 +3143,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3044,13 +3152,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -3075,25 +3210,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::DEQUANTIZE,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -3153,7 +3288,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3171,6 +3306,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -3222,33 +3384,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -3261,7 +3396,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3270,13 +3405,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -3301,25 +3463,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::DEQUANTIZE,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/div_v1_2.model.cpp b/runtime/test/generated/vts_models/div_v1_2.model.cpp
index 88da37e..8b081ea 100644
--- a/runtime/test/generated/vts_models/div_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/div_v1_2.model.cpp
@@ -324,7 +324,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -342,6 +342,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -393,33 +420,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -432,7 +432,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -441,13 +441,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -465,7 +492,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -474,7 +501,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -490,25 +517,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::DIV,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -567,7 +594,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -585,6 +612,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -636,33 +690,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -675,7 +702,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -684,13 +711,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -708,7 +762,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -717,7 +771,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -733,25 +787,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::DIV,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -811,13 +865,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -826,7 +880,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -880,34 +961,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -919,13 +973,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -934,7 +1015,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -952,7 +1033,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 8},
+            .location = {.poolIndex = 0, .offset = 61, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -961,7 +1042,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -977,25 +1058,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::DIV,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1054,7 +1135,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1072,6 +1153,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1123,33 +1231,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1162,7 +1243,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1171,13 +1252,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1195,7 +1303,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -1204,7 +1312,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1220,25 +1328,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::DIV,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1297,7 +1405,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1315,6 +1423,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1366,33 +1501,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1405,7 +1513,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1414,13 +1522,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1438,7 +1573,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -1447,7 +1582,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1463,25 +1598,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::DIV,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1541,13 +1676,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1556,7 +1691,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1610,34 +1772,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1649,13 +1784,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1664,7 +1826,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1682,7 +1844,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 8},
+            .location = {.poolIndex = 0, .offset = 61, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -1691,7 +1853,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1707,25 +1869,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::DIV,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/fully_connected_v1_2.model.cpp b/runtime/test/generated/vts_models/fully_connected_v1_2.model.cpp
index a22c6e5..0be5703 100644
--- a/runtime/test/generated/vts_models/fully_connected_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/fully_connected_v1_2.model.cpp
@@ -682,7 +682,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -700,6 +700,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -751,33 +778,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -790,7 +790,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -799,13 +799,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -823,7 +850,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 12},
+            .location = {.poolIndex = 0, .offset = 93, .length = 12},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -832,7 +859,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -841,7 +868,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -857,25 +884,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -934,7 +961,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -952,6 +979,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1003,33 +1057,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1042,7 +1069,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1051,13 +1078,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1075,7 +1129,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 12},
+            .location = {.poolIndex = 0, .offset = 93, .length = 12},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1084,7 +1138,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1093,7 +1147,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1109,25 +1163,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1187,7 +1241,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1205,6 +1259,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1256,33 +1337,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -1295,7 +1349,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1304,13 +1358,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1328,7 +1409,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 3},
+            .location = {.poolIndex = 0, .offset = 71, .length = 3},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -1337,7 +1418,7 @@
             .scale = 0.01f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+            .location = {.poolIndex = 0, .offset = 74, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1346,7 +1427,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+            .location = {.poolIndex = 0, .offset = 78, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1362,25 +1443,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 100, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 100, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1439,13 +1520,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1454,7 +1535,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1508,34 +1616,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1547,13 +1628,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1562,7 +1670,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1580,7 +1688,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 6},
+            .location = {.poolIndex = 0, .offset = 61, .length = 6},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1589,7 +1697,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 2},
+            .location = {.poolIndex = 0, .offset = 67, .length = 2},
         },
         {
             .type = OperandType::INT32,
@@ -1598,7 +1706,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1614,25 +1722,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 60, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 60, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1691,7 +1799,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1709,6 +1817,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1760,33 +1895,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1799,7 +1907,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1808,13 +1916,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1832,7 +1967,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 12},
+            .location = {.poolIndex = 0, .offset = 93, .length = 12},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1841,7 +1976,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1850,7 +1985,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1866,25 +2001,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1943,7 +2078,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1961,6 +2096,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2012,33 +2174,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -2051,7 +2186,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2060,13 +2195,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2084,7 +2246,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 12},
+            .location = {.poolIndex = 0, .offset = 93, .length = 12},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2093,7 +2255,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2102,7 +2264,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2118,25 +2280,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2196,7 +2358,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2214,6 +2376,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2265,33 +2454,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -2304,7 +2466,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2313,13 +2475,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2337,7 +2526,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 3},
+            .location = {.poolIndex = 0, .offset = 71, .length = 3},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -2346,7 +2535,7 @@
             .scale = 0.01f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+            .location = {.poolIndex = 0, .offset = 74, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2355,7 +2544,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+            .location = {.poolIndex = 0, .offset = 78, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2371,25 +2560,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 138, 148, 158, 100, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 138, 148, 158, 100, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2448,13 +2637,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2463,7 +2652,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2517,34 +2733,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2556,13 +2745,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -2571,7 +2787,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2589,7 +2805,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 6},
+            .location = {.poolIndex = 0, .offset = 61, .length = 6},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2598,7 +2814,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 2},
+            .location = {.poolIndex = 0, .offset = 67, .length = 2},
         },
         {
             .type = OperandType::INT32,
@@ -2607,7 +2823,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2623,25 +2839,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 60, 0, 64, 0, 66, 0, 60, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 60, 0, 64, 0, 66, 0, 60, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2700,7 +2916,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2718,6 +2934,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2769,33 +3012,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -2808,7 +3024,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2817,13 +3033,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2841,7 +3084,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 12},
+            .location = {.poolIndex = 0, .offset = 93, .length = 12},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2850,7 +3093,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2859,7 +3102,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2875,25 +3118,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2952,7 +3195,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2970,6 +3213,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -3021,33 +3291,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -3060,7 +3303,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3069,13 +3312,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3093,7 +3363,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 12},
+            .location = {.poolIndex = 0, .offset = 93, .length = 12},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3102,7 +3372,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -3111,7 +3381,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3127,25 +3397,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -3205,7 +3475,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3223,6 +3493,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -3274,33 +3571,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -3313,7 +3583,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3322,13 +3592,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -3346,7 +3643,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 3},
+            .location = {.poolIndex = 0, .offset = 71, .length = 3},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -3355,7 +3652,7 @@
             .scale = 0.01f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+            .location = {.poolIndex = 0, .offset = 74, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -3364,7 +3661,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+            .location = {.poolIndex = 0, .offset = 78, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -3380,25 +3677,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 100, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 100, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -3457,13 +3754,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -3472,7 +3769,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -3526,34 +3850,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -3565,13 +3862,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -3580,7 +3904,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -3598,7 +3922,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 6},
+            .location = {.poolIndex = 0, .offset = 61, .length = 6},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -3607,7 +3931,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 2},
+            .location = {.poolIndex = 0, .offset = 67, .length = 2},
         },
         {
             .type = OperandType::INT32,
@@ -3616,7 +3940,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -3632,25 +3956,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 60, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 60, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -3709,7 +4033,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3727,6 +4051,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -3778,33 +4129,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -3817,7 +4141,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3826,13 +4150,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3850,7 +4201,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 12},
+            .location = {.poolIndex = 0, .offset = 93, .length = 12},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3859,7 +4210,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -3868,7 +4219,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3884,25 +4235,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -3961,7 +4312,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3979,6 +4330,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -4030,33 +4408,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -4069,7 +4420,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -4078,13 +4429,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -4102,7 +4480,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 12},
+            .location = {.poolIndex = 0, .offset = 93, .length = 12},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -4111,7 +4489,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -4120,7 +4498,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -4136,25 +4514,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -4214,7 +4592,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -4232,6 +4610,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -4283,33 +4688,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -4322,7 +4700,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -4331,13 +4709,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -4355,7 +4760,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 3},
+            .location = {.poolIndex = 0, .offset = 71, .length = 3},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -4364,7 +4769,7 @@
             .scale = 0.01f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+            .location = {.poolIndex = 0, .offset = 74, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -4373,7 +4778,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+            .location = {.poolIndex = 0, .offset = 78, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -4389,25 +4794,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 138, 148, 158, 100, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 138, 148, 158, 100, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -4466,13 +4871,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -4481,7 +4886,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -4535,34 +4967,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -4574,13 +4979,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -4589,7 +5021,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -4607,7 +5039,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 6},
+            .location = {.poolIndex = 0, .offset = 61, .length = 6},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -4616,7 +5048,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 2},
+            .location = {.poolIndex = 0, .offset = 67, .length = 2},
         },
         {
             .type = OperandType::INT32,
@@ -4625,7 +5057,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -4641,25 +5073,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::FULLY_CONNECTED,
-            .inputs = {18, 19, 20, 21},
-            .outputs = {22},
+            .inputs = {21, 22, 23, 24},
+            .outputs = {25},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 22};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 25};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 60, 0, 64, 0, 66, 0, 60, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 60, 0, 64, 0, 66, 0, 60, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/l2_pool_v1_2.model.cpp b/runtime/test/generated/vts_models/l2_pool_v1_2.model.cpp
index b89bca2..714b7f9 100644
--- a/runtime/test/generated/vts_models/l2_pool_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/l2_pool_v1_2.model.cpp
@@ -6496,7 +6496,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -6514,6 +6514,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -6565,33 +6592,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -6604,7 +6604,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -6613,13 +6613,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -6637,33 +6664,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -6712,6 +6712,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -6725,25 +6752,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -6802,7 +6829,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -6820,6 +6847,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -6871,33 +6925,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -6910,7 +6937,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -6919,13 +6946,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -6943,33 +6997,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -7018,6 +7045,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -7031,25 +7085,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -7109,13 +7163,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -7124,7 +7178,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -7178,34 +7259,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -7217,13 +7271,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -7232,7 +7313,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -7250,24 +7331,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -7325,6 +7388,24 @@
             .location = {.poolIndex = 0, .offset = 85, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -7338,25 +7419,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -7415,7 +7496,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -7433,6 +7514,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -7484,33 +7592,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -7523,7 +7604,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -7532,13 +7613,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -7556,33 +7664,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -7631,6 +7712,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -7644,25 +7752,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -7721,7 +7829,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -7739,6 +7847,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -7790,33 +7925,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -7829,7 +7937,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -7838,13 +7946,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -7862,33 +7997,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -7937,6 +8045,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -7950,25 +8085,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -8028,13 +8163,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -8043,7 +8178,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -8097,34 +8259,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -8136,13 +8271,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -8151,7 +8313,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -8169,24 +8331,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -8244,6 +8388,24 @@
             .location = {.poolIndex = 0, .offset = 85, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -8257,25 +8419,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -8334,7 +8496,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8352,6 +8514,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -8403,33 +8592,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -8442,7 +8604,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8451,13 +8613,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -8475,33 +8664,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -8550,6 +8712,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -8563,25 +8752,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -8640,7 +8829,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8658,6 +8847,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -8709,33 +8925,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -8748,7 +8937,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8757,13 +8946,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -8781,33 +8997,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -8856,6 +9045,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -8869,25 +9085,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -8947,13 +9163,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -8962,7 +9178,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -9016,34 +9259,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -9055,13 +9271,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -9070,7 +9313,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -9088,24 +9331,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -9163,6 +9388,24 @@
             .location = {.poolIndex = 0, .offset = 85, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -9176,25 +9419,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9253,7 +9496,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9271,6 +9514,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -9322,33 +9592,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -9361,7 +9604,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9370,13 +9613,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -9394,33 +9664,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -9469,6 +9712,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -9482,25 +9752,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9559,7 +9829,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9577,6 +9847,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -9628,33 +9925,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -9667,7 +9937,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9676,13 +9946,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -9700,33 +9997,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -9775,6 +10045,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -9788,25 +10085,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9866,13 +10163,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -9881,7 +10178,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -9935,34 +10259,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -9974,13 +10271,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -9989,7 +10313,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -10007,24 +10331,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -10082,6 +10388,24 @@
             .location = {.poolIndex = 0, .offset = 85, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -10095,25 +10419,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10172,7 +10496,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10190,6 +10514,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -10241,33 +10592,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -10280,7 +10604,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10289,13 +10613,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -10313,33 +10664,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -10361,6 +10685,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 2, 2, 1},
             .numberOfConsumers = 0,
@@ -10374,25 +10725,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10451,7 +10802,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10469,6 +10820,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -10520,33 +10898,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -10559,7 +10910,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10568,13 +10919,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -10592,33 +10970,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -10640,6 +10991,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 2, 2, 1},
             .numberOfConsumers = 0,
@@ -10653,25 +11031,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10731,13 +11109,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -10746,7 +11124,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -10800,34 +11205,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -10839,13 +11217,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -10854,7 +11259,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -10872,24 +11277,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -10920,6 +11307,24 @@
             .location = {.poolIndex = 0, .offset = 73, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 2, 2, 1},
             .numberOfConsumers = 0,
@@ -10933,25 +11338,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11010,7 +11415,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11028,6 +11433,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11079,33 +11511,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -11118,7 +11523,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11127,13 +11532,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11151,33 +11583,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -11199,6 +11604,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 2, 2},
             .numberOfConsumers = 0,
@@ -11212,25 +11644,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11289,7 +11721,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11307,6 +11739,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11358,33 +11817,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -11397,7 +11829,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11406,13 +11838,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11430,33 +11889,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -11478,6 +11910,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 2, 2},
             .numberOfConsumers = 0,
@@ -11491,25 +11950,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11569,13 +12028,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -11584,7 +12043,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -11638,34 +12124,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -11677,13 +12136,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -11692,7 +12178,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -11710,24 +12196,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -11758,6 +12226,24 @@
             .location = {.poolIndex = 0, .offset = 73, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 1, 2, 2},
             .numberOfConsumers = 0,
@@ -11771,25 +12257,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11848,7 +12334,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11866,6 +12352,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11917,33 +12430,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -11956,7 +12442,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11965,13 +12451,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11989,33 +12502,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -12037,6 +12523,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -12050,25 +12563,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12127,7 +12640,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12145,6 +12658,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -12196,33 +12736,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -12235,7 +12748,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12244,13 +12757,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -12268,33 +12808,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -12316,6 +12829,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -12329,25 +12869,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12407,13 +12947,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -12422,7 +12962,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -12476,34 +13043,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -12515,13 +13055,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -12530,7 +13097,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -12548,24 +13115,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -12596,6 +13145,24 @@
             .location = {.poolIndex = 0, .offset = 73, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -12609,25 +13176,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12686,7 +13253,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12704,6 +13271,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -12755,33 +13349,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -12794,7 +13361,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12803,13 +13370,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -12827,33 +13421,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -12875,6 +13442,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -12888,25 +13482,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12965,7 +13559,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12983,6 +13577,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -13034,33 +13655,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -13073,7 +13667,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -13082,13 +13676,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -13106,33 +13727,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -13154,6 +13748,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -13167,25 +13788,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -13245,13 +13866,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -13260,7 +13881,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -13314,34 +13962,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -13353,13 +13974,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -13368,7 +14016,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -13386,24 +14034,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -13434,6 +14064,24 @@
             .location = {.poolIndex = 0, .offset = 73, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -13447,25 +14095,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::L2_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/logistic_v1_2.model.cpp b/runtime/test/generated/vts_models/logistic_v1_2.model.cpp
index f837ab5..cd0f47a 100644
--- a/runtime/test/generated/vts_models/logistic_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/logistic_v1_2.model.cpp
@@ -244,7 +244,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -262,6 +262,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -313,33 +340,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -352,7 +352,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -361,13 +361,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -392,25 +419,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::LOGISTIC,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -469,7 +496,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -487,6 +514,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -538,33 +592,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -577,7 +604,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -586,13 +613,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -617,25 +671,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::LOGISTIC,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -695,7 +749,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -713,6 +767,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -764,33 +845,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -803,7 +857,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -812,13 +866,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -843,25 +924,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::LOGISTIC,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -920,13 +1001,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -935,7 +1016,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -989,34 +1097,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1028,13 +1109,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1043,7 +1151,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1068,25 +1176,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::LOGISTIC,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1145,7 +1253,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1163,6 +1271,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1214,33 +1349,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1253,7 +1361,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1262,13 +1370,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1293,25 +1428,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::LOGISTIC,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1370,7 +1505,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1388,6 +1523,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1439,33 +1601,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1478,7 +1613,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1487,13 +1622,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1518,25 +1680,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::LOGISTIC,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1596,7 +1758,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1614,6 +1776,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1665,33 +1854,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -1704,7 +1866,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1713,13 +1875,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1744,25 +1933,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::LOGISTIC,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1821,13 +2010,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1836,7 +2025,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1890,34 +2106,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1929,13 +2118,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1944,7 +2160,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1969,25 +2185,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::LOGISTIC,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/max_pool_v1_2.model.cpp b/runtime/test/generated/vts_models/max_pool_v1_2.model.cpp
index d272464..b0f3ffa 100644
--- a/runtime/test/generated/vts_models/max_pool_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/max_pool_v1_2.model.cpp
@@ -8776,7 +8776,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8794,6 +8794,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -8845,33 +8872,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -8884,7 +8884,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8893,13 +8893,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -8917,33 +8944,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -8992,6 +8992,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -9005,25 +9032,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9082,7 +9109,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9100,6 +9127,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -9151,33 +9205,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -9190,7 +9217,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9199,13 +9226,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -9223,33 +9277,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -9298,6 +9325,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -9311,25 +9365,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9389,7 +9443,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9407,6 +9461,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -9458,33 +9539,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -9497,7 +9551,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9506,13 +9560,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -9530,33 +9611,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
@@ -9605,6 +9659,33 @@
             .location = {.poolIndex = 0, .offset = 91, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 95, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 99, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 103, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -9618,25 +9699,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9695,13 +9776,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -9710,7 +9791,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -9764,34 +9872,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -9803,13 +9884,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -9818,7 +9926,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -9836,24 +9944,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -9911,6 +10001,24 @@
             .location = {.poolIndex = 0, .offset = 85, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -9924,25 +10032,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10001,7 +10109,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10019,6 +10127,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -10070,33 +10205,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -10109,7 +10217,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10118,13 +10226,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -10142,33 +10277,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -10217,6 +10325,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -10230,25 +10365,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10307,7 +10442,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10325,6 +10460,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -10376,33 +10538,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -10415,7 +10550,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10424,13 +10559,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -10448,33 +10610,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -10523,6 +10658,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -10536,25 +10698,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10614,7 +10776,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10632,6 +10794,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -10683,33 +10872,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -10722,7 +10884,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10731,13 +10893,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -10755,33 +10944,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
@@ -10830,6 +10992,33 @@
             .location = {.poolIndex = 0, .offset = 91, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 95, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 99, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 103, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -10843,25 +11032,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10920,13 +11109,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -10935,7 +11124,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -10989,34 +11205,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -11028,13 +11217,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -11043,7 +11259,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -11061,24 +11277,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -11136,6 +11334,24 @@
             .location = {.poolIndex = 0, .offset = 85, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 1, 1, 1},
             .numberOfConsumers = 0,
@@ -11149,25 +11365,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11226,7 +11442,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11244,6 +11460,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11295,33 +11538,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -11334,7 +11550,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11343,13 +11559,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11367,33 +11610,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -11442,6 +11658,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -11455,25 +11698,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11532,7 +11775,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11550,6 +11793,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11601,33 +11871,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -11640,7 +11883,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11649,13 +11892,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11673,33 +11943,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -11748,6 +11991,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -11761,25 +12031,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11839,7 +12109,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11857,6 +12127,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11908,33 +12205,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -11947,7 +12217,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11956,13 +12226,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -11980,33 +12277,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
@@ -12055,6 +12325,33 @@
             .location = {.poolIndex = 0, .offset = 91, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 95, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 99, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 103, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -12068,25 +12365,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12145,13 +12442,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -12160,7 +12457,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -12214,34 +12538,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -12253,13 +12550,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -12268,7 +12592,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -12286,24 +12610,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -12361,6 +12667,24 @@
             .location = {.poolIndex = 0, .offset = 85, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -12374,25 +12698,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12451,7 +12775,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12469,6 +12793,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -12520,33 +12871,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -12559,7 +12883,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12568,13 +12892,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -12592,33 +12943,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -12667,6 +12991,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -12680,25 +13031,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12757,7 +13108,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12775,6 +13126,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -12826,33 +13204,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -12865,7 +13216,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12874,13 +13225,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -12898,33 +13276,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -12973,6 +13324,33 @@
             .location = {.poolIndex = 0, .offset = 113, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 117, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 121, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 125, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -12986,25 +13364,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -13064,7 +13442,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -13082,6 +13460,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -13133,33 +13538,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -13172,7 +13550,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -13181,13 +13559,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -13205,7 +13610,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -13214,7 +13619,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -13223,7 +13628,3709 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
+            .location = {.poolIndex = 0, .offset = 79, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 83, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 87, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 91, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 95, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 99, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 103, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 0, 0, 0},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::MAX_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
+    std::vector<uint8_t> operandValues = {
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_dynamic_output_shape_nchw_quant8(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_dynamic_output_shape_nchw_float16() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 73, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 89, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 0, 0, 0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::MAX_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 20},
+            .outputs = {31},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 31};
+    std::vector<uint8_t> operandValues = {
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_dynamic_output_shape_nchw_float16(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nhwc_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 32},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 68, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 72, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 76, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::MAX_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nhwc_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nhwc_relaxed_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 32},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 68, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 72, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 76, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::MAX_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+        .relaxComputationFloat32toFloat16 = true,
+    };
+}
+
+inline bool is_ignored_zero_sized_nhwc_relaxed_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nhwc_quant8_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT16_ASYMM,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.125f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 2, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 18, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 22, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT16_ASYMM,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.125f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 46, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 54, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 79, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 83, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 87, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 91, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::MAX_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nhwc_quant8_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nhwc_float16_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 73, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::MAX_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nhwc_float16_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nchw_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 32},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 68, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 72, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 76, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::MAX_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nchw_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nchw_relaxed_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 32},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 68, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 72, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 76, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::MAX_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+        .relaxComputationFloat32toFloat16 = true,
+    };
+}
+
+inline bool is_ignored_zero_sized_nchw_relaxed_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nchw_quant8_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT16_ASYMM,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.125f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 2, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 18, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 22, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT16_ASYMM,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.125f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 46, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 54, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 79, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 83, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 87, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 91, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::MAX_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nchw_quant8_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_nchw_float16_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 4, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 20, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 24, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 73, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT16,
+            .dimensions = {0, 1, 2, 2},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::MAX_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_nchw_float16_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_dynamic_output_shape_nhwc_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 32},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 68, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 72, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 76, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 0, 0, 0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::MAX_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+    };
+}
+
+inline bool is_ignored_zero_sized_dynamic_output_shape_nhwc_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_dynamic_output_shape_nhwc_relaxed_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 8},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 8, .length = 32},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 44, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 68, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 72, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 76, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 101, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_FLOAT32,
+            .dimensions = {0, 0, 0, 0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        }
+    };
+
+    const std::vector<Operation> operations = {
+        {
+            .type = OperationType::BOX_WITH_NMS_LIMIT,
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
+        },
+        {
+            .type = OperationType::ROI_ALIGN,
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
+        },
+        {
+            .type = OperationType::MAX_POOL_2D,
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
+        }
+    };
+
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
+    std::vector<uint8_t> operandValues = {
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+    };
+    const std::vector<hidl_memory> pools = {};
+
+    return {
+        .operands = operands,
+        .operations = operations,
+        .inputIndexes = inputIndexes,
+        .outputIndexes = outputIndexes,
+        .operandValues = operandValues,
+        .pools = pools,
+        .relaxComputationFloat32toFloat16 = true,
+    };
+}
+
+inline bool is_ignored_zero_sized_dynamic_output_shape_nhwc_relaxed_2(int i) {
+  static std::set<int> ignore = {};
+  return ignore.find(i) != ignore.end();
+}
+
+// Create the model
+Model createTestModel_zero_sized_dynamic_output_shape_nhwc_quant8_2() {
+    const std::vector<Operand> operands = {
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 2},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 0, .length = 2},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT16_ASYMM,
+            .dimensions = {1, 8},
+            .numberOfConsumers = 1,
+            .scale = 0.125f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 2, .length = 16},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {1},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 18, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 22, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT16_ASYMM,
+            .dimensions = {0, 4},
+            .numberOfConsumers = 1,
+            .scale = 0.125f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 0,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::MODEL_OUTPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_INT32,
+            .dimensions = {0},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {1, 1, 1, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::MODEL_INPUT,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 46, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 54, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
+            .type = OperandType::BOOL,
+            .dimensions = {},
+            .numberOfConsumers = 2,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
+        },
+        {
+            .type = OperandType::TENSOR_QUANT8_ASYMM,
+            .dimensions = {0, 2, 2, 1},
+            .numberOfConsumers = 1,
+            .scale = 0.1f,
+            .zeroPoint = 128,
+            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
+            .location = {.poolIndex = 0, .offset = 0, .length = 0},
         },
         {
             .type = OperandType::INT32,
@@ -13293,3403 +17400,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
             .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_dynamic_output_shape_nchw_quant8(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_dynamic_output_shape_nchw_float16() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 20, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 24, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 77, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 0, 0, 0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 17},
-            .outputs = {28},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 28};
-    std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_dynamic_output_shape_nchw_float16(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nhwc_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 8},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 8, .length = 32},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 68, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 72, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 76, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nhwc_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nhwc_relaxed_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 8},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 8, .length = 32},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 68, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 72, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 76, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-        .relaxComputationFloat32toFloat16 = true,
-    };
-}
-
-inline bool is_ignored_zero_sized_nhwc_relaxed_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nhwc_quant8_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 2},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.125f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 18, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 22, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 30, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.125f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 46, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 50, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 54, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 71, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 75, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 79, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nhwc_quant8_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nhwc_float16_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 20, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 24, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nhwc_float16_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nchw_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 8},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 8, .length = 32},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 68, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 72, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 76, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nchw_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nchw_relaxed_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 8},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 8, .length = 32},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 68, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 72, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 76, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-        .relaxComputationFloat32toFloat16 = true,
-    };
-}
-
-inline bool is_ignored_zero_sized_nchw_relaxed_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nchw_quant8_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 2},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.125f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 18, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 22, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 30, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.125f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 46, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 50, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 54, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 71, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 75, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 79, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nchw_quant8_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_nchw_float16_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 4, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 20, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 24, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 65, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 73, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT16,
-            .dimensions = {0, 1, 2, 2},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_nchw_float16_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_dynamic_output_shape_nhwc_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 8},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 8, .length = 32},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 68, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 72, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 76, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 0, 0, 0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-    };
-}
-
-inline bool is_ignored_zero_sized_dynamic_output_shape_nhwc_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_dynamic_output_shape_nhwc_relaxed_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 8},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 8, .length = 32},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 44, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 68, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 72, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 76, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 93, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 101, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_FLOAT32,
-            .dimensions = {0, 0, 0, 0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
-    };
-    const std::vector<hidl_memory> pools = {};
-
-    return {
-        .operands = operands,
-        .operations = operations,
-        .inputIndexes = inputIndexes,
-        .outputIndexes = outputIndexes,
-        .operandValues = operandValues,
-        .pools = pools,
-        .relaxComputationFloat32toFloat16 = true,
-    };
-}
-
-inline bool is_ignored_zero_sized_dynamic_output_shape_nhwc_relaxed_2(int i) {
-  static std::set<int> ignore = {};
-  return ignore.find(i) != ignore.end();
-}
-
-// Create the model
-Model createTestModel_zero_sized_dynamic_output_shape_nhwc_quant8_2() {
-    const std::vector<Operand> operands = {
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {1, 2},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 0, .length = 2},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {1, 8},
-            .numberOfConsumers = 1,
-            .scale = 0.125f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 2, .length = 16},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {1},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 18, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 22, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 30, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT16_ASYMM,
-            .dimensions = {0, 4},
-            .numberOfConsumers = 1,
-            .scale = 0.125f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 0,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_INT32,
-            .dimensions = {0},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {1, 1, 1, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_INPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 46, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 50, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 54, .length = 4},
-        },
-        {
-            .type = OperandType::BOOL,
-            .dimensions = {},
-            .numberOfConsumers = 2,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 2, 2, 1},
-            .numberOfConsumers = 1,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::TEMPORARY_VARIABLE,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 71, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 75, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 79, .length = 4},
-        },
-        {
-            .type = OperandType::TENSOR_QUANT8_ASYMM,
-            .dimensions = {0, 0, 0, 0},
-            .numberOfConsumers = 0,
-            .scale = 0.1f,
-            .zeroPoint = 128,
-            .lifetime = OperandLifeTime::MODEL_OUTPUT,
-            .location = {.poolIndex = 0, .offset = 0, .length = 0},
-        }
-    };
-
-    const std::vector<Operation> operations = {
-        {
-            .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
-        },
-        {
-            .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
-        },
-        {
-            .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
-        }
-    };
-
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
-    std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -16748,13 +17477,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -16763,7 +17492,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -16817,34 +17573,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -16856,13 +17585,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -16871,7 +17627,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -16889,24 +17645,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -16937,6 +17675,24 @@
             .location = {.poolIndex = 0, .offset = 73, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -16950,25 +17706,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -17027,7 +17783,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -17045,6 +17801,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -17096,33 +17879,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -17135,7 +17891,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -17144,13 +17900,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -17168,33 +17951,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -17216,6 +17972,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -17229,25 +18012,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -17306,7 +18089,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -17324,6 +18107,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -17375,33 +18185,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -17414,7 +18197,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -17423,13 +18206,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -17447,33 +18257,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 89, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
@@ -17495,6 +18278,33 @@
             .location = {.poolIndex = 0, .offset = 101, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 105, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 113, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -17508,25 +18318,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -17586,7 +18396,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -17604,6 +18414,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -17655,33 +18492,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -17694,7 +18504,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -17703,13 +18513,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -17727,33 +18564,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 67, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
@@ -17775,6 +18585,33 @@
             .location = {.poolIndex = 0, .offset = 79, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 83, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 87, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 91, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -17788,25 +18625,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -17865,13 +18702,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -17880,7 +18717,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -17934,34 +18798,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -17973,13 +18810,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -17988,7 +18852,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -18006,24 +18870,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
@@ -18054,6 +18900,24 @@
             .location = {.poolIndex = 0, .offset = 73, .length = 4},
         },
         {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 77, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT16,
             .dimensions = {0, 0, 0, 0},
             .numberOfConsumers = 0,
@@ -18067,25 +18931,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MAX_POOL_2D,
-            .inputs = {18, 19, 20, 21, 22, 23, 24, 17},
-            .outputs = {25},
+            .inputs = {21, 22, 23, 24, 25, 26, 27, 20},
+            .outputs = {28},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 25};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 28};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/mul_v1_2.model.cpp b/runtime/test/generated/vts_models/mul_v1_2.model.cpp
index 9ed3ace..ec492a5 100644
--- a/runtime/test/generated/vts_models/mul_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/mul_v1_2.model.cpp
@@ -324,7 +324,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -342,6 +342,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -393,33 +420,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -432,7 +432,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -441,13 +441,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -465,7 +492,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -474,7 +501,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -490,25 +517,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MUL,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -567,7 +594,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -585,6 +612,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -636,33 +690,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -675,7 +702,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -684,13 +711,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -708,7 +762,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -717,7 +771,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -733,25 +787,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MUL,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -811,7 +865,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -829,6 +883,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -880,33 +961,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -919,7 +973,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -928,13 +982,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -952,7 +1033,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -961,7 +1042,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -977,25 +1058,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MUL,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 168, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 168, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1054,13 +1135,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1069,7 +1150,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1123,34 +1231,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1162,13 +1243,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1177,7 +1285,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1195,7 +1303,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 8},
+            .location = {.poolIndex = 0, .offset = 61, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -1204,7 +1312,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1220,25 +1328,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MUL,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1297,7 +1405,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1315,6 +1423,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1366,33 +1501,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1405,7 +1513,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1414,13 +1522,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1438,7 +1573,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -1447,7 +1582,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1463,25 +1598,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MUL,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1540,7 +1675,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1558,6 +1693,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1609,33 +1771,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1648,7 +1783,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1657,13 +1792,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1681,7 +1843,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -1690,7 +1852,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1706,25 +1868,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MUL,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1784,7 +1946,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1802,6 +1964,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1853,33 +2042,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -1892,7 +2054,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1901,13 +2063,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1925,7 +2114,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1934,7 +2123,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1950,25 +2139,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MUL,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 168, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 168, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2027,13 +2216,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2042,7 +2231,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2096,34 +2312,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2135,13 +2324,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -2150,7 +2366,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2168,7 +2384,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 8},
+            .location = {.poolIndex = 0, .offset = 61, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -2177,7 +2393,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2193,25 +2409,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::MUL,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/quantize.model.cpp b/runtime/test/generated/vts_models/quantize.model.cpp
index 269ace9..6881fb7 100644
--- a/runtime/test/generated/vts_models/quantize.model.cpp
+++ b/runtime/test/generated/vts_models/quantize.model.cpp
@@ -856,7 +856,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -874,6 +874,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -925,33 +952,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -964,7 +964,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -973,13 +973,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1004,25 +1031,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::QUANTIZE,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1081,7 +1108,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1099,6 +1126,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1150,33 +1204,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1189,7 +1216,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1198,13 +1225,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1229,25 +1283,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::QUANTIZE,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1307,13 +1361,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1322,7 +1376,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1376,34 +1457,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1415,13 +1469,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1430,7 +1511,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1455,25 +1536,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::QUANTIZE,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1532,7 +1613,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1550,6 +1631,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1601,33 +1709,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1640,7 +1721,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1649,13 +1730,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1680,25 +1788,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::QUANTIZE,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1757,7 +1865,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1775,6 +1883,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1826,33 +1961,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1865,7 +1973,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1874,13 +1982,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1905,25 +2040,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::QUANTIZE,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1983,13 +2118,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1998,7 +2133,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2052,34 +2214,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2091,13 +2226,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -2106,7 +2268,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2131,25 +2293,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::QUANTIZE,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/relu1_v1_2.model.cpp b/runtime/test/generated/vts_models/relu1_v1_2.model.cpp
index fd467ed..6743d29 100644
--- a/runtime/test/generated/vts_models/relu1_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/relu1_v1_2.model.cpp
@@ -244,7 +244,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -262,6 +262,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -313,33 +340,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -352,7 +352,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -361,13 +361,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -392,25 +419,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU1,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -469,7 +496,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -487,6 +514,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -538,33 +592,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -577,7 +604,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -586,13 +613,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -617,25 +671,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU1,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -695,7 +749,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -713,6 +767,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -764,33 +845,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -803,7 +857,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -812,13 +866,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -843,25 +924,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU1,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -920,13 +1001,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -935,7 +1016,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -989,34 +1097,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1028,13 +1109,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1043,7 +1151,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1068,25 +1176,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU1,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1145,7 +1253,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1163,6 +1271,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1214,33 +1349,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1253,7 +1361,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1262,13 +1370,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1293,25 +1428,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU1,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1370,7 +1505,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1388,6 +1523,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1439,33 +1601,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1478,7 +1613,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1487,13 +1622,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1518,25 +1680,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU1,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1596,7 +1758,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1614,6 +1776,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1665,33 +1854,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -1704,7 +1866,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1713,13 +1875,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1744,25 +1933,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU1,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1821,13 +2010,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1836,7 +2025,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1890,34 +2106,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1929,13 +2118,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1944,7 +2160,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1969,25 +2185,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU1,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/relu6_v1_2.model.cpp b/runtime/test/generated/vts_models/relu6_v1_2.model.cpp
index dc7a65c..3ab2f86 100644
--- a/runtime/test/generated/vts_models/relu6_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/relu6_v1_2.model.cpp
@@ -244,7 +244,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -262,6 +262,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -313,33 +340,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -352,7 +352,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -361,13 +361,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -392,25 +419,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU6,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -469,7 +496,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -487,6 +514,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -538,33 +592,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -577,7 +604,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -586,13 +613,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -617,25 +671,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU6,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -695,7 +749,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -713,6 +767,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -764,33 +845,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -803,7 +857,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -812,13 +866,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -843,25 +924,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU6,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -920,13 +1001,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -935,7 +1016,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -989,34 +1097,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1028,13 +1109,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1043,7 +1151,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1068,25 +1176,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU6,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1145,7 +1253,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1163,6 +1271,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1214,33 +1349,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1253,7 +1361,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1262,13 +1370,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1293,25 +1428,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU6,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1370,7 +1505,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1388,6 +1523,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1439,33 +1601,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1478,7 +1613,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1487,13 +1622,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1518,25 +1680,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU6,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1596,7 +1758,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1614,6 +1776,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1665,33 +1854,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -1704,7 +1866,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1713,13 +1875,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1744,25 +1933,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU6,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1821,13 +2010,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1836,7 +2025,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1890,34 +2106,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1929,13 +2118,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1944,7 +2160,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1969,25 +2185,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU6,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/relu_v1_2.model.cpp b/runtime/test/generated/vts_models/relu_v1_2.model.cpp
index c383ef6..89a404b 100644
--- a/runtime/test/generated/vts_models/relu_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/relu_v1_2.model.cpp
@@ -244,7 +244,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -262,6 +262,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -313,33 +340,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -352,7 +352,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -361,13 +361,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -392,25 +419,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -469,7 +496,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -487,6 +514,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -538,33 +592,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -577,7 +604,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -586,13 +613,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -617,25 +671,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -695,7 +749,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -713,6 +767,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -764,33 +845,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -803,7 +857,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -812,13 +866,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -843,25 +924,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -920,13 +1001,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -935,7 +1016,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -989,34 +1097,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1028,13 +1109,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1043,7 +1151,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1068,25 +1176,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1145,7 +1253,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1163,6 +1271,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1214,33 +1349,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1253,7 +1361,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1262,13 +1370,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1293,25 +1428,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1370,7 +1505,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1388,6 +1523,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1439,33 +1601,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1478,7 +1613,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1487,13 +1622,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1518,25 +1680,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1596,7 +1758,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1614,6 +1776,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1665,33 +1854,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -1704,7 +1866,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1713,13 +1875,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1744,25 +1933,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1821,13 +2010,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1836,7 +2025,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1890,34 +2106,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1929,13 +2118,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1944,7 +2160,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1969,25 +2185,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RELU,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/resize_bilinear_v1_2.model.cpp b/runtime/test/generated/vts_models/resize_bilinear_v1_2.model.cpp
index f9879b1..b1123ec 100644
--- a/runtime/test/generated/vts_models/resize_bilinear_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/resize_bilinear_v1_2.model.cpp
@@ -5744,7 +5744,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -5762,6 +5762,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -5813,33 +5840,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -5852,7 +5852,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -5861,13 +5861,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -5885,7 +5912,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -5894,7 +5921,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -5910,25 +5937,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -5987,7 +6014,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -6005,6 +6032,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -6056,33 +6110,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -6095,7 +6122,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -6104,13 +6131,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -6128,7 +6182,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -6137,7 +6191,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -6153,25 +6207,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -6231,7 +6285,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -6249,6 +6303,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -6300,33 +6381,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -6339,7 +6393,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -6348,13 +6402,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -6372,7 +6453,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -6381,7 +6462,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -6397,25 +6478,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -6474,13 +6555,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -6489,7 +6570,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -6543,34 +6651,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -6582,13 +6663,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -6597,7 +6705,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -6615,7 +6723,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -6624,7 +6732,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -6640,25 +6748,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -6717,7 +6825,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -6735,6 +6843,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -6786,33 +6921,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -6825,7 +6933,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -6834,13 +6942,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -6858,7 +6993,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -6867,7 +7002,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -6883,25 +7018,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -6960,7 +7095,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -6978,6 +7113,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -7029,33 +7191,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -7068,7 +7203,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -7077,13 +7212,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -7101,7 +7263,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -7110,7 +7272,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -7126,25 +7288,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -7204,7 +7366,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -7222,6 +7384,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -7273,33 +7462,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -7312,7 +7474,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -7321,13 +7483,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -7345,7 +7534,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -7354,7 +7543,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -7370,25 +7559,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -7447,13 +7636,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -7462,7 +7651,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -7516,34 +7732,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -7555,13 +7744,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -7570,7 +7786,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -7588,7 +7804,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -7597,7 +7813,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -7613,25 +7829,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -7690,7 +7906,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -7708,6 +7924,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -7759,33 +8002,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -7798,7 +8014,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -7807,13 +8023,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -7831,7 +8074,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -7840,7 +8083,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -7856,25 +8099,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -7933,7 +8176,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -7951,6 +8194,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -8002,33 +8272,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -8041,7 +8284,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8050,13 +8293,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -8074,7 +8344,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -8083,7 +8353,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -8099,25 +8369,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -8177,7 +8447,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8195,6 +8465,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -8246,33 +8543,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -8285,7 +8555,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8294,13 +8564,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -8318,7 +8615,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -8327,7 +8624,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -8343,25 +8640,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -8420,13 +8717,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -8435,7 +8732,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -8489,34 +8813,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -8528,13 +8825,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -8543,7 +8867,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -8561,7 +8885,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -8570,7 +8894,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -8586,25 +8910,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -8663,7 +8987,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8681,6 +9005,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -8732,33 +9083,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -8771,7 +9095,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8780,13 +9104,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -8804,7 +9155,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -8813,7 +9164,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -8829,25 +9180,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -8906,7 +9257,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8924,6 +9275,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -8975,33 +9353,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -9014,7 +9365,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9023,13 +9374,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -9047,7 +9425,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -9056,7 +9434,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -9072,25 +9450,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9150,7 +9528,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9168,6 +9546,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -9219,33 +9624,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -9258,7 +9636,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9267,13 +9645,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -9291,7 +9696,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -9300,7 +9705,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -9316,25 +9721,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9393,13 +9798,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -9408,7 +9813,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -9462,34 +9894,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -9501,13 +9906,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -9516,7 +9948,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -9534,7 +9966,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -9543,7 +9975,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -9559,25 +9991,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9636,7 +10068,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9654,6 +10086,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -9705,33 +10164,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -9744,7 +10176,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9753,13 +10185,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -9777,7 +10236,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -9786,7 +10245,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -9802,25 +10261,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9879,7 +10338,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9897,6 +10356,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -9948,33 +10434,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -9987,7 +10446,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9996,13 +10455,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -10020,7 +10506,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -10029,7 +10515,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -10045,25 +10531,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10123,7 +10609,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10141,6 +10627,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -10192,33 +10705,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -10231,7 +10717,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10240,13 +10726,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -10264,7 +10777,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -10273,7 +10786,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -10289,25 +10802,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10366,13 +10879,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -10381,7 +10894,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -10435,34 +10975,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -10474,13 +10987,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -10489,7 +11029,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -10507,7 +11047,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 2},
+            .location = {.poolIndex = 0, .offset = 61, .length = 2},
         },
         {
             .type = OperandType::FLOAT16,
@@ -10516,7 +11056,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 55, .length = 2},
+            .location = {.poolIndex = 0, .offset = 63, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -10532,25 +11072,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 102, 62, 102, 62
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 102, 62, 102, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10609,7 +11149,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10627,6 +11167,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -10678,33 +11245,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -10717,7 +11257,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10726,13 +11266,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -10750,7 +11317,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -10759,7 +11326,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -10775,25 +11342,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10852,7 +11419,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10870,6 +11437,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -10921,33 +11515,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -10960,7 +11527,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10969,13 +11536,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -10993,7 +11587,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -11002,7 +11596,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11018,25 +11612,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11096,7 +11690,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11114,6 +11708,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11165,33 +11786,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -11204,7 +11798,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11213,13 +11807,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -11237,7 +11858,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -11246,7 +11867,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -11262,25 +11883,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11339,13 +11960,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -11354,7 +11975,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -11408,34 +12056,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -11447,13 +12068,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -11462,7 +12110,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -11480,7 +12128,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 2},
+            .location = {.poolIndex = 0, .offset = 61, .length = 2},
         },
         {
             .type = OperandType::FLOAT16,
@@ -11489,7 +12137,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 55, .length = 2},
+            .location = {.poolIndex = 0, .offset = 63, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -11505,25 +12153,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 102, 62, 102, 62
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 102, 62, 102, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11582,7 +12230,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11600,6 +12248,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11651,33 +12326,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -11690,7 +12338,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11699,13 +12347,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11723,7 +12398,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -11732,7 +12407,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11748,25 +12423,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11825,7 +12500,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11843,6 +12518,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11894,33 +12596,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -11933,7 +12608,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11942,13 +12617,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11966,7 +12668,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -11975,7 +12677,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11991,25 +12693,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12069,7 +12771,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12087,6 +12789,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -12138,33 +12867,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -12177,7 +12879,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12186,13 +12888,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -12210,7 +12939,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -12219,7 +12948,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -12235,25 +12964,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12312,13 +13041,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -12327,7 +13056,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -12381,34 +13137,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -12420,13 +13149,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -12435,7 +13191,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -12453,7 +13209,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 2},
+            .location = {.poolIndex = 0, .offset = 61, .length = 2},
         },
         {
             .type = OperandType::FLOAT16,
@@ -12462,7 +13218,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 55, .length = 2},
+            .location = {.poolIndex = 0, .offset = 63, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -12478,25 +13234,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 102, 62, 102, 62
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 102, 62, 102, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12555,7 +13311,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12573,6 +13329,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -12624,33 +13407,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -12663,7 +13419,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12672,13 +13428,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -12696,7 +13479,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -12705,7 +13488,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -12721,25 +13504,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -12798,7 +13581,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12816,6 +13599,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -12867,33 +13677,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -12906,7 +13689,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -12915,13 +13698,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -12939,7 +13749,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -12948,7 +13758,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -12964,25 +13774,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -13042,7 +13852,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -13060,6 +13870,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -13111,33 +13948,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -13150,7 +13960,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -13159,13 +13969,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -13183,7 +14020,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -13192,7 +14029,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -13208,25 +14045,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -13285,13 +14122,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -13300,7 +14137,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -13354,34 +14218,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -13393,13 +14230,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -13408,7 +14272,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -13426,7 +14290,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 2},
+            .location = {.poolIndex = 0, .offset = 61, .length = 2},
         },
         {
             .type = OperandType::FLOAT16,
@@ -13435,7 +14299,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 55, .length = 2},
+            .location = {.poolIndex = 0, .offset = 63, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -13451,25 +14315,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_BILINEAR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 102, 62, 102, 62
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 102, 62, 102, 62
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/resize_nearest_neighbor.model.cpp b/runtime/test/generated/vts_models/resize_nearest_neighbor.model.cpp
index e012ee0..222a0d6 100644
--- a/runtime/test/generated/vts_models/resize_nearest_neighbor.model.cpp
+++ b/runtime/test/generated/vts_models/resize_nearest_neighbor.model.cpp
@@ -20584,7 +20584,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -20602,6 +20602,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -20653,33 +20680,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -20692,7 +20692,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -20701,13 +20701,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -20725,7 +20752,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -20734,7 +20761,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -20750,25 +20777,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -20827,7 +20854,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -20845,6 +20872,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -20896,33 +20950,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -20935,7 +20962,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -20944,13 +20971,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -20968,7 +21022,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -20977,7 +21031,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -20993,25 +21047,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -21071,7 +21125,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -21089,6 +21143,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -21140,33 +21221,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -21179,7 +21233,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -21188,13 +21242,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -21212,7 +21293,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -21221,7 +21302,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -21237,25 +21318,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -21314,13 +21395,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -21329,7 +21410,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -21383,34 +21491,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -21422,13 +21503,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -21437,7 +21545,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -21455,7 +21563,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -21464,7 +21572,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -21480,25 +21588,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -21557,7 +21665,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -21575,6 +21683,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -21626,33 +21761,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -21665,7 +21773,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -21674,13 +21782,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -21698,7 +21833,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -21707,7 +21842,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -21723,25 +21858,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -21800,7 +21935,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -21818,6 +21953,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -21869,33 +22031,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -21908,7 +22043,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -21917,13 +22052,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -21941,7 +22103,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -21950,7 +22112,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -21966,25 +22128,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -22044,7 +22206,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -22062,6 +22224,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -22113,33 +22302,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -22152,7 +22314,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -22161,13 +22323,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -22185,7 +22374,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -22194,7 +22383,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -22210,25 +22399,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -22287,13 +22476,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -22302,7 +22491,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -22356,34 +22572,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -22395,13 +22584,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -22410,7 +22626,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -22428,7 +22644,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -22437,7 +22653,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -22453,25 +22669,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -22530,7 +22746,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -22548,6 +22764,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -22599,33 +22842,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -22638,7 +22854,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -22647,13 +22863,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -22671,7 +22914,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -22680,7 +22923,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -22696,25 +22939,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -22773,7 +23016,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -22791,6 +23034,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -22842,33 +23112,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -22881,7 +23124,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -22890,13 +23133,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -22914,7 +23184,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -22923,7 +23193,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -22939,25 +23209,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -23017,7 +23287,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -23035,6 +23305,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -23086,33 +23383,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -23125,7 +23395,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -23134,13 +23404,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -23158,7 +23455,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -23167,7 +23464,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -23183,25 +23480,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -23260,13 +23557,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -23275,7 +23572,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -23329,34 +23653,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -23368,13 +23665,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -23383,7 +23707,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -23401,7 +23725,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -23410,7 +23734,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -23426,25 +23750,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -23503,7 +23827,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -23521,6 +23845,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -23572,33 +23923,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -23611,7 +23935,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -23620,13 +23944,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -23644,7 +23995,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -23653,7 +24004,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -23669,25 +24020,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -23746,7 +24097,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -23764,6 +24115,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -23815,33 +24193,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -23854,7 +24205,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -23863,13 +24214,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -23887,7 +24265,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -23896,7 +24274,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -23912,25 +24290,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -23990,7 +24368,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -24008,6 +24386,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -24059,33 +24464,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -24098,7 +24476,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -24107,13 +24485,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -24131,7 +24536,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -24140,7 +24545,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -24156,25 +24561,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -24233,13 +24638,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -24248,7 +24653,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -24302,34 +24734,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -24341,13 +24746,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -24356,7 +24788,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -24374,7 +24806,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 4},
+            .location = {.poolIndex = 0, .offset = 61, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -24383,7 +24815,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 57, .length = 4},
+            .location = {.poolIndex = 0, .offset = 65, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -24399,25 +24831,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 3, 0, 0, 0, 3, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -24476,7 +24908,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -24494,6 +24926,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -24545,33 +25004,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -24584,7 +25016,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -24593,13 +25025,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -24617,7 +25076,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -24626,7 +25085,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -24642,25 +25101,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -24719,7 +25178,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -24737,6 +25196,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -24788,33 +25274,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -24827,7 +25286,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -24836,13 +25295,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -24860,7 +25346,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -24869,7 +25355,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -24885,25 +25371,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -24963,7 +25449,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -24981,6 +25467,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -25032,33 +25545,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -25071,7 +25557,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -25080,13 +25566,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -25104,7 +25617,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -25113,7 +25626,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -25129,25 +25642,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -25206,13 +25719,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -25221,7 +25734,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -25275,34 +25815,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -25314,13 +25827,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -25329,7 +25869,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -25347,7 +25887,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 2},
+            .location = {.poolIndex = 0, .offset = 61, .length = 2},
         },
         {
             .type = OperandType::FLOAT16,
@@ -25356,7 +25896,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 55, .length = 2},
+            .location = {.poolIndex = 0, .offset = 63, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -25372,25 +25912,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 102, 62, 102, 62
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 102, 62, 102, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -25449,7 +25989,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -25467,6 +26007,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -25518,33 +26085,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -25557,7 +26097,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -25566,13 +26106,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -25590,7 +26157,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -25599,7 +26166,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -25615,25 +26182,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -25692,7 +26259,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -25710,6 +26277,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -25761,33 +26355,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -25800,7 +26367,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -25809,13 +26376,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -25833,7 +26427,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -25842,7 +26436,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -25858,25 +26452,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -25936,7 +26530,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -25954,6 +26548,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -26005,33 +26626,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -26044,7 +26638,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -26053,13 +26647,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -26077,7 +26698,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -26086,7 +26707,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -26102,25 +26723,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -26179,13 +26800,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -26194,7 +26815,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -26248,34 +26896,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -26287,13 +26908,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -26302,7 +26950,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -26320,7 +26968,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 2},
+            .location = {.poolIndex = 0, .offset = 61, .length = 2},
         },
         {
             .type = OperandType::FLOAT16,
@@ -26329,7 +26977,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 55, .length = 2},
+            .location = {.poolIndex = 0, .offset = 63, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -26345,25 +26993,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 102, 62, 102, 62
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 102, 62, 102, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -26422,7 +27070,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -26440,6 +27088,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -26491,33 +27166,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -26530,7 +27178,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -26539,13 +27187,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -26563,7 +27238,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -26572,7 +27247,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -26588,25 +27263,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -26665,7 +27340,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -26683,6 +27358,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -26734,33 +27436,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -26773,7 +27448,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -26782,13 +27457,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -26806,7 +27508,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -26815,7 +27517,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -26831,25 +27533,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -26909,7 +27611,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -26927,6 +27629,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -26978,33 +27707,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -27017,7 +27719,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -27026,13 +27728,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -27050,7 +27779,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -27059,7 +27788,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -27075,25 +27804,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -27152,13 +27881,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -27167,7 +27896,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -27221,34 +27977,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -27260,13 +27989,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -27275,7 +28031,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -27293,7 +28049,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 2},
+            .location = {.poolIndex = 0, .offset = 61, .length = 2},
         },
         {
             .type = OperandType::FLOAT16,
@@ -27302,7 +28058,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 55, .length = 2},
+            .location = {.poolIndex = 0, .offset = 63, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -27318,25 +28074,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 102, 62, 102, 62
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 102, 62, 102, 62
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -27395,7 +28151,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -27413,6 +28169,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -27464,33 +28247,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -27503,7 +28259,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -27512,13 +28268,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -27536,7 +28319,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -27545,7 +28328,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -27561,25 +28344,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -27638,7 +28421,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -27656,6 +28439,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -27707,33 +28517,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -27746,7 +28529,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -27755,13 +28538,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -27779,7 +28589,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -27788,7 +28598,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 85, .length = 4},
+            .location = {.poolIndex = 0, .offset = 97, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -27804,25 +28614,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -27882,7 +28692,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -27900,6 +28710,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -27951,33 +28788,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -27990,7 +28800,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -27999,13 +28809,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 2,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -28023,7 +28860,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::FLOAT32,
@@ -28032,7 +28869,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -28048,25 +28885,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 205, 204, 204, 63, 205, 204, 204, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -28125,13 +28962,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -28140,7 +28977,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -28194,34 +29058,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -28233,13 +29070,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -28248,7 +29112,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -28266,7 +29130,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 2},
+            .location = {.poolIndex = 0, .offset = 61, .length = 2},
         },
         {
             .type = OperandType::FLOAT16,
@@ -28275,7 +29139,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 55, .length = 2},
+            .location = {.poolIndex = 0, .offset = 63, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -28291,25 +29155,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::RESIZE_NEAREST_NEIGHBOR,
-            .inputs = {18, 19, 20, 17},
-            .outputs = {21},
+            .inputs = {21, 22, 23, 20},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 102, 62, 102, 62
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1, 102, 62, 102, 62
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/roi_align.model.cpp b/runtime/test/generated/vts_models/roi_align.model.cpp
index 2e9590f..3e8f75e 100644
--- a/runtime/test/generated/vts_models/roi_align.model.cpp
+++ b/runtime/test/generated/vts_models/roi_align.model.cpp
@@ -8632,7 +8632,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8650,6 +8650,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -8701,33 +8728,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -8740,7 +8740,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8749,13 +8749,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -8771,20 +8798,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -8843,7 +8870,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8861,6 +8888,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -8912,33 +8966,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -8951,7 +8978,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -8960,13 +8987,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -8982,20 +9036,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9055,7 +9109,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9073,6 +9127,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -9124,33 +9205,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -9163,7 +9217,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9172,13 +9226,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -9194,20 +9275,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9266,13 +9347,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -9281,7 +9362,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -9335,34 +9443,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -9374,13 +9455,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -9389,7 +9497,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -9405,20 +9513,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9477,7 +9585,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9495,6 +9603,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -9546,33 +9681,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -9585,7 +9693,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9594,13 +9702,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -9616,20 +9751,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9688,7 +9823,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9706,6 +9841,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -9757,33 +9919,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -9796,7 +9931,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9805,13 +9940,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -9827,20 +9989,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -9900,7 +10062,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -9918,6 +10080,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -9969,33 +10158,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -10008,7 +10170,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10017,13 +10179,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -10039,20 +10228,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10111,13 +10300,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -10126,7 +10315,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -10180,34 +10396,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -10219,13 +10408,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -10234,7 +10450,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -10250,20 +10466,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10322,7 +10538,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10340,6 +10556,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -10391,33 +10634,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -10430,7 +10646,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10439,13 +10655,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -10461,20 +10704,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10533,7 +10776,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10551,6 +10794,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -10602,33 +10872,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -10641,7 +10884,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10650,13 +10893,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -10672,20 +10942,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10745,7 +11015,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10763,6 +11033,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -10814,33 +11111,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -10853,7 +11123,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -10862,13 +11132,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -10884,20 +11181,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -10956,13 +11253,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -10971,7 +11268,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -11025,34 +11349,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -11064,13 +11361,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -11079,7 +11403,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -11095,20 +11419,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11167,7 +11491,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11185,6 +11509,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11236,33 +11587,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -11275,7 +11599,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11284,13 +11608,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11306,20 +11657,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11378,7 +11729,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11396,6 +11747,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11447,33 +11825,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -11486,7 +11837,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11495,13 +11846,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -11517,20 +11895,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11590,7 +11968,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11608,6 +11986,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -11659,33 +12064,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -11698,7 +12076,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -11707,13 +12085,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -11729,20 +12134,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -11801,13 +12206,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -11816,7 +12221,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -11870,34 +12302,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -11909,13 +12314,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -11924,7 +12356,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -11940,20 +12372,20 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 18};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 21};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 1
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/slice.model.cpp b/runtime/test/generated/vts_models/slice.model.cpp
index a53658f..0f078e8 100644
--- a/runtime/test/generated/vts_models/slice.model.cpp
+++ b/runtime/test/generated/vts_models/slice.model.cpp
@@ -3368,7 +3368,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3386,6 +3386,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -3437,33 +3464,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -3476,7 +3476,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3485,13 +3485,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3509,7 +3536,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -3518,7 +3545,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 16},
+            .location = {.poolIndex = 0, .offset = 109, .length = 16},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3534,25 +3561,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SLICE,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -3611,7 +3638,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3629,6 +3656,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -3680,33 +3734,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -3719,7 +3746,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3728,13 +3755,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3752,7 +3806,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -3761,7 +3815,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 16},
+            .location = {.poolIndex = 0, .offset = 109, .length = 16},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -3777,25 +3831,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SLICE,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -3855,7 +3909,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3873,6 +3927,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -3924,33 +4005,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -3963,7 +4017,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -3972,13 +4026,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -3996,7 +4077,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 16},
+            .location = {.poolIndex = 0, .offset = 71, .length = 16},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -4005,7 +4086,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 75, .length = 16},
+            .location = {.poolIndex = 0, .offset = 87, .length = 16},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -4021,25 +4102,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SLICE,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -4098,13 +4179,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -4113,7 +4194,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -4167,34 +4275,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -4206,13 +4287,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -4221,7 +4329,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -4239,7 +4347,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 16},
+            .location = {.poolIndex = 0, .offset = 61, .length = 16},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -4248,7 +4356,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 16},
+            .location = {.poolIndex = 0, .offset = 77, .length = 16},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -4264,25 +4372,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SLICE,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -4341,7 +4449,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -4359,6 +4467,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -4410,33 +4545,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -4449,7 +4557,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -4458,13 +4566,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -4482,7 +4617,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -4491,7 +4626,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 16},
+            .location = {.poolIndex = 0, .offset = 109, .length = 16},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -4507,25 +4642,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SLICE,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -4584,7 +4719,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -4602,6 +4737,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -4653,33 +4815,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -4692,7 +4827,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -4701,13 +4836,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -4725,7 +4887,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -4734,7 +4896,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 16},
+            .location = {.poolIndex = 0, .offset = 109, .length = 16},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -4750,25 +4912,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SLICE,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -4828,7 +4990,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -4846,6 +5008,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -4897,33 +5086,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -4936,7 +5098,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -4945,13 +5107,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -4969,7 +5158,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 16},
+            .location = {.poolIndex = 0, .offset = 71, .length = 16},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -4978,7 +5167,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 75, .length = 16},
+            .location = {.poolIndex = 0, .offset = 87, .length = 16},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -4994,25 +5183,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SLICE,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -5071,13 +5260,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -5086,7 +5275,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -5140,34 +5356,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -5179,13 +5368,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -5194,7 +5410,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -5212,7 +5428,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 16},
+            .location = {.poolIndex = 0, .offset = 61, .length = 16},
         },
         {
             .type = OperandType::TENSOR_INT32,
@@ -5221,7 +5437,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 69, .length = 16},
+            .location = {.poolIndex = 0, .offset = 77, .length = 16},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -5237,25 +5453,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SLICE,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/softmax_v1_2.model.cpp b/runtime/test/generated/vts_models/softmax_v1_2.model.cpp
index b2b2206..5ebe230 100644
--- a/runtime/test/generated/vts_models/softmax_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/softmax_v1_2.model.cpp
@@ -25828,7 +25828,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -25846,6 +25846,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -25897,33 +25924,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -25936,7 +25936,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -25945,13 +25945,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -25969,7 +25996,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -25985,25 +26012,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SOFTMAX,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -26062,7 +26089,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -26080,6 +26107,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -26131,33 +26185,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -26170,7 +26197,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -26179,13 +26206,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -26203,7 +26257,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -26219,25 +26273,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SOFTMAX,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -26297,7 +26351,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -26315,6 +26369,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -26366,33 +26447,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -26405,7 +26459,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -26414,13 +26468,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -26438,7 +26519,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -26454,25 +26535,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SOFTMAX,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -26531,13 +26612,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -26546,7 +26627,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -26600,34 +26708,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -26639,13 +26720,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -26654,7 +26762,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -26672,7 +26780,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 2},
+            .location = {.poolIndex = 0, .offset = 61, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -26688,25 +26796,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SOFTMAX,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -26765,7 +26873,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -26783,6 +26891,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -26834,33 +26969,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -26873,7 +26981,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -26882,13 +26990,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -26906,7 +27041,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -26922,25 +27057,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SOFTMAX,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -26999,7 +27134,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -27017,6 +27152,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -27068,33 +27230,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -27107,7 +27242,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -27116,13 +27251,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -27140,7 +27302,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 4},
+            .location = {.poolIndex = 0, .offset = 93, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -27156,25 +27318,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SOFTMAX,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -27234,7 +27396,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -27252,6 +27414,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -27303,33 +27492,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -27342,7 +27504,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -27351,13 +27513,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -27375,7 +27564,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -27391,25 +27580,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SOFTMAX,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -27468,13 +27657,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -27483,7 +27672,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -27537,34 +27753,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -27576,13 +27765,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -27591,7 +27807,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -27609,7 +27825,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 2},
+            .location = {.poolIndex = 0, .offset = 61, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -27625,25 +27841,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SOFTMAX,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/sub_v1_2.model.cpp b/runtime/test/generated/vts_models/sub_v1_2.model.cpp
index 5e2f5bb..6dc6908 100644
--- a/runtime/test/generated/vts_models/sub_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/sub_v1_2.model.cpp
@@ -1318,7 +1318,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1336,6 +1336,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1387,33 +1414,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1426,7 +1426,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1435,13 +1435,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1459,7 +1486,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -1468,7 +1495,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1484,25 +1511,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SUB,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1561,7 +1588,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1579,6 +1606,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1630,33 +1684,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1669,7 +1696,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1678,13 +1705,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1702,7 +1756,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -1711,7 +1765,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1727,25 +1781,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SUB,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1805,7 +1859,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1823,6 +1877,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1874,33 +1955,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -1913,7 +1967,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1922,13 +1976,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1946,7 +2027,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1955,7 +2036,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1971,25 +2052,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SUB,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 168, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 168, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2048,13 +2129,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2063,7 +2144,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2117,34 +2225,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2156,13 +2237,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -2171,7 +2279,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2189,7 +2297,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 8},
+            .location = {.poolIndex = 0, .offset = 61, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -2198,7 +2306,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2214,25 +2322,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SUB,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2291,7 +2399,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2309,6 +2417,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2360,33 +2495,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -2399,7 +2507,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2408,13 +2516,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2432,7 +2567,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -2441,7 +2576,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2457,25 +2592,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SUB,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2534,7 +2669,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2552,6 +2687,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2603,33 +2765,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -2642,7 +2777,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2651,13 +2786,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2675,7 +2837,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::INT32,
@@ -2684,7 +2846,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 97, .length = 4},
+            .location = {.poolIndex = 0, .offset = 109, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -2700,25 +2862,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SUB,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 64, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2778,7 +2940,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2796,6 +2958,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -2847,33 +3036,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -2886,7 +3048,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -2895,13 +3057,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2919,7 +3108,7 @@
             .scale = 0.1f,
             .zeroPoint = 128,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 4},
+            .location = {.poolIndex = 0, .offset = 71, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2928,7 +3117,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 63, .length = 4},
+            .location = {.poolIndex = 0, .offset = 75, .length = 4},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -2944,25 +3133,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SUB,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 168, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 138, 148, 158, 168, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -3021,13 +3210,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -3036,7 +3225,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -3090,34 +3306,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -3129,13 +3318,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -3144,7 +3360,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -3162,7 +3378,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 8},
+            .location = {.poolIndex = 0, .offset = 61, .length = 8},
         },
         {
             .type = OperandType::INT32,
@@ -3171,7 +3387,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 61, .length = 4},
+            .location = {.poolIndex = 0, .offset = 69, .length = 4},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -3187,25 +3403,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::SUB,
-            .inputs = {18, 19, 20},
-            .outputs = {21},
+            .inputs = {21, 22, 23},
+            .outputs = {24},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 21};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 24};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 60, 0, 64, 0, 66, 0, 68, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/tanh_v1_2.model.cpp b/runtime/test/generated/vts_models/tanh_v1_2.model.cpp
index 8531dee..54d64eb 100644
--- a/runtime/test/generated/vts_models/tanh_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/tanh_v1_2.model.cpp
@@ -244,7 +244,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -262,6 +262,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -313,33 +340,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -352,7 +352,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -361,13 +361,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -392,25 +419,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TANH,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -469,7 +496,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -487,6 +514,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -538,33 +592,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -577,7 +604,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -586,13 +613,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -617,25 +671,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TANH,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -695,7 +749,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -713,6 +767,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -764,33 +845,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -803,7 +857,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -812,13 +866,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -843,25 +924,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TANH,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -920,13 +1001,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -935,7 +1016,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -989,34 +1097,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1028,13 +1109,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1043,7 +1151,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1068,25 +1176,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TANH,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1145,7 +1253,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1163,6 +1271,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1214,33 +1349,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1253,7 +1361,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1262,13 +1370,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1293,25 +1428,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TANH,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1370,7 +1505,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1388,6 +1523,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1439,33 +1601,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1478,7 +1613,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1487,13 +1622,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1518,25 +1680,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TANH,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1596,7 +1758,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1614,6 +1776,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1665,33 +1854,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -1704,7 +1866,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1713,13 +1875,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1744,25 +1933,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TANH,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1821,13 +2010,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1836,7 +2025,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1890,34 +2106,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1929,13 +2118,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1944,7 +2160,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1969,25 +2185,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TANH,
-            .inputs = {18},
-            .outputs = {19},
+            .inputs = {21},
+            .outputs = {22},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 19};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 22};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/generated/vts_models/transpose_v1_2.model.cpp b/runtime/test/generated/vts_models/transpose_v1_2.model.cpp
index 7076cdf..e3c20ac 100644
--- a/runtime/test/generated/vts_models/transpose_v1_2.model.cpp
+++ b/runtime/test/generated/vts_models/transpose_v1_2.model.cpp
@@ -402,7 +402,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -420,6 +420,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -471,33 +498,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -510,7 +510,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -519,13 +519,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -543,7 +570,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -559,25 +586,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TRANSPOSE,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -636,7 +663,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -654,6 +681,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -705,33 +759,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -744,7 +771,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -753,13 +780,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -777,7 +831,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -793,25 +847,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TRANSPOSE,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -871,7 +925,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -889,6 +943,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -940,33 +1021,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -979,7 +1033,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -988,13 +1042,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1012,7 +1093,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 16},
+            .location = {.poolIndex = 0, .offset = 71, .length = 16},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1028,25 +1109,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TRANSPOSE,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1105,13 +1186,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1120,7 +1201,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1174,34 +1282,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -1213,13 +1294,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -1228,7 +1336,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1246,7 +1354,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 16},
+            .location = {.poolIndex = 0, .offset = 61, .length = 16},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -1262,25 +1370,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TRANSPOSE,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1339,7 +1447,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1357,6 +1465,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1408,33 +1543,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1447,7 +1555,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1456,13 +1564,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1480,7 +1615,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1496,25 +1631,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TRANSPOSE,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1573,7 +1708,7 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1591,6 +1726,33 @@
             .location = {.poolIndex = 0, .offset = 52, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 60, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 64, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_FLOAT32,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1642,33 +1804,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 56, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 60, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 64, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 68, .length = 4},
         },
         {
@@ -1681,7 +1816,7 @@
             .location = {.poolIndex = 0, .offset = 72, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1690,13 +1825,40 @@
             .location = {.poolIndex = 0, .offset = 76, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 80, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 84, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 88, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 80, .length = 1},
+            .location = {.poolIndex = 0, .offset = 92, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1714,7 +1876,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 81, .length = 16},
+            .location = {.poolIndex = 0, .offset = 93, .length = 16},
         },
         {
             .type = OperandType::TENSOR_FLOAT32,
@@ -1730,25 +1892,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TRANSPOSE,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
+      102, 102, 102, 63, 205, 204, 204, 61, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 32, 65, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -1808,7 +1970,7 @@
             .location = {.poolIndex = 0, .offset = 22, .length = 4},
         },
         {
-            .type = OperandType::FLOAT32,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1826,6 +1988,33 @@
             .location = {.poolIndex = 0, .offset = 30, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 42, .length = 4},
+        },
+        {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
             .dimensions = {0},
             .numberOfConsumers = 0,
@@ -1877,33 +2066,6 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 34, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 38, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
             .location = {.poolIndex = 0, .offset = 46, .length = 4},
         },
         {
@@ -1916,7 +2078,7 @@
             .location = {.poolIndex = 0, .offset = 50, .length = 4},
         },
         {
-            .type = OperandType::INT32,
+            .type = OperandType::FLOAT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
@@ -1925,13 +2087,40 @@
             .location = {.poolIndex = 0, .offset = 54, .length = 4},
         },
         {
+            .type = OperandType::FLOAT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 58, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 62, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 66, .length = 4},
+        },
+        {
             .type = OperandType::BOOL,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 58, .length = 1},
+            .location = {.poolIndex = 0, .offset = 70, .length = 1},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1949,7 +2138,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 59, .length = 16},
+            .location = {.poolIndex = 0, .offset = 71, .length = 16},
         },
         {
             .type = OperandType::TENSOR_QUANT8_ASYMM,
@@ -1965,25 +2154,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TRANSPOSE,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 205, 204, 204, 62, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
+      137, 129, 8, 0, 8, 0, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 80, 0, 0, 0, 0, 0, 154, 153, 153, 62, 255, 255, 255, 255, 0, 0, 0, 0, 205, 204, 204, 62, 0, 0, 128, 63, 154, 153, 153, 62, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
@@ -2042,13 +2231,13 @@
             .location = {.poolIndex = 0, .offset = 24, .length = 2},
         },
         {
-            .type = OperandType::FLOAT16,
+            .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 26, .length = 2},
+            .location = {.poolIndex = 0, .offset = 26, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2057,7 +2246,34 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 28, .length = 4},
+            .location = {.poolIndex = 0, .offset = 30, .length = 4},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 34, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 36, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 38, .length = 2},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2111,34 +2327,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 32, .length = 4},
-        },
-        {
-            .type = OperandType::INT32,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 36, .length = 4},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 40, .length = 2},
-        },
-        {
-            .type = OperandType::FLOAT16,
-            .dimensions = {},
-            .numberOfConsumers = 1,
-            .scale = 0.0f,
-            .zeroPoint = 0,
-            .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 42, .length = 2},
+            .location = {.poolIndex = 0, .offset = 40, .length = 4},
         },
         {
             .type = OperandType::INT32,
@@ -2150,13 +2339,40 @@
             .location = {.poolIndex = 0, .offset = 44, .length = 4},
         },
         {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 48, .length = 2},
+        },
+        {
+            .type = OperandType::FLOAT16,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 50, .length = 2},
+        },
+        {
             .type = OperandType::INT32,
             .dimensions = {},
             .numberOfConsumers = 1,
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 48, .length = 4},
+            .location = {.poolIndex = 0, .offset = 52, .length = 4},
+        },
+        {
+            .type = OperandType::INT32,
+            .dimensions = {},
+            .numberOfConsumers = 1,
+            .scale = 0.0f,
+            .zeroPoint = 0,
+            .lifetime = OperandLifeTime::CONSTANT_COPY,
+            .location = {.poolIndex = 0, .offset = 56, .length = 4},
         },
         {
             .type = OperandType::BOOL,
@@ -2165,7 +2381,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 52, .length = 1},
+            .location = {.poolIndex = 0, .offset = 60, .length = 1},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2183,7 +2399,7 @@
             .scale = 0.0f,
             .zeroPoint = 0,
             .lifetime = OperandLifeTime::CONSTANT_COPY,
-            .location = {.poolIndex = 0, .offset = 53, .length = 16},
+            .location = {.poolIndex = 0, .offset = 61, .length = 16},
         },
         {
             .type = OperandType::TENSOR_FLOAT16,
@@ -2199,25 +2415,25 @@
     const std::vector<Operation> operations = {
         {
             .type = OperationType::BOX_WITH_NMS_LIMIT,
-            .inputs = {0, 1, 2, 3, 4, 5},
-            .outputs = {6, 7, 8, 9},
+            .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+            .outputs = {9, 10, 11, 12},
         },
         {
             .type = OperationType::ROI_ALIGN,
-            .inputs = {10, 7, 9, 11, 12, 13, 14, 15, 16, 17},
-            .outputs = {18},
+            .inputs = {13, 10, 12, 14, 15, 16, 17, 18, 19, 20},
+            .outputs = {21},
         },
         {
             .type = OperationType::TRANSPOSE,
-            .inputs = {18, 19},
-            .outputs = {20},
+            .inputs = {21, 22},
+            .outputs = {23},
         }
     };
 
-    const std::vector<uint32_t> inputIndexes = {10};
-    const std::vector<uint32_t> outputIndexes = {6, 8, 20};
+    const std::vector<uint32_t> inputIndexes = {13};
+    const std::vector<uint32_t> outputIndexes = {9, 11, 23};
     std::vector<uint8_t> operandValues = {
-      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 102, 54, 255, 255, 255, 255, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
+      51, 59, 102, 46, 0, 60, 0, 60, 0, 73, 0, 73, 0, 0, 0, 0, 0, 73, 0, 73, 0, 0, 0, 0, 205, 52, 255, 255, 255, 255, 0, 0, 0, 0, 102, 54, 0, 60, 205, 52, 2, 0, 0, 0, 2, 0, 0, 0, 0, 64, 0, 64, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0
     };
     const std::vector<hidl_memory> pools = {};
 
diff --git a/runtime/test/specs/V1_2/add_v1_2.mod.py b/runtime/test/specs/V1_2/add_v1_2.mod.py
index b42d637..8af47a5 100644
--- a/runtime/test/specs/V1_2/add_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/add_v1_2.mod.py
@@ -66,7 +66,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/avg_pool_v1_2.mod.py b/runtime/test/specs/V1_2/avg_pool_v1_2.mod.py
index 12811da..43083f9 100644
--- a/runtime/test/specs/V1_2/avg_pool_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/avg_pool_v1_2.mod.py
@@ -145,7 +145,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 i1 = Input("in", "TENSOR_FLOAT32", "{1, 1, 1, 1}")
@@ -184,7 +184,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 i1 = Input("in", "TENSOR_FLOAT32", "{1, 1, 1, 1}")
diff --git a/runtime/test/specs/V1_2/bbox_graph.mod.py b/runtime/test/specs/V1_2/bbox_graph.mod.py
index c2f2ec7..a7a94af 100644
--- a/runtime/test/specs/V1_2/bbox_graph.mod.py
+++ b/runtime/test/specs/V1_2/bbox_graph.mod.py
@@ -52,7 +52,7 @@
 roiOut_6 = Output("roi", "TENSOR_FLOAT32", "{0, 4}")
 classOut_6 = Output("classes", "TENSOR_INT32", "{0}")
 batchOut_6 = Output("batches", "TENSOR_INT32", "{0}")
-model = model.Operation("BOX_WITH_NMS_LIMIT", scoresOut_4, roiOut_5, batchOut_1, 0.1, 0.3, -1).To(scoresOut_6, roiOut_6, classOut_6, batchOut_6)
+model = model.Operation("BOX_WITH_NMS_LIMIT", scoresOut_4, roiOut_5, batchOut_1, 0.1, -1, 0, 0.3, 1.0, 0.1).To(scoresOut_6, roiOut_6, classOut_6, batchOut_6)
 
 quant8 = DataTypeConverter().Identify({
     scores: ("TENSOR_QUANT8_ASYMM", 0.1, 128),
diff --git a/runtime/test/specs/V1_2/box_with_nms_limit.mod.py b/runtime/test/specs/V1_2/box_with_nms_limit_gaussian.mod.py
similarity index 81%
copy from runtime/test/specs/V1_2/box_with_nms_limit.mod.py
copy to runtime/test/specs/V1_2/box_with_nms_limit_gaussian.mod.py
index 12370f7..ed79ccc 100644
--- a/runtime/test/specs/V1_2/box_with_nms_limit.mod.py
+++ b/runtime/test/specs/V1_2/box_with_nms_limit_gaussian.mod.py
@@ -14,18 +14,16 @@
 # limitations under the License.
 #
 
-# TEST 1: BOX_WITH_NMS_LIMIT, score_threshold = 0.3, nms_threshold = 0.4, max_detections = -1
-model = Model()
+# TEST 1: BOX_WITH_NMS_LIMIT, score_threshold = 0.3, sigma = 0.5, max_detections = -1
 i1 = Input("scores", "TENSOR_FLOAT32", "{19, 3}") # scores
 i2 = Input("roi", "TENSOR_FLOAT32", "{19, 12}") # roi
 i3 = Input("batchSplit", "TENSOR_INT32", "{19}") # batchSplit
 
-o1 = Output("scoresOut", "TENSOR_FLOAT32", "{12}") # scores out
-o2 = Output("roiOut", "TENSOR_FLOAT32", "{12, 4}") # roi out
-o3 = Output("classesOut", "TENSOR_INT32", "{12}") # classes out
-o4 = Output("batchSplitOut", "TENSOR_INT32", "{12}") # batch split out
-model = model.Operation("BOX_WITH_NMS_LIMIT",
-    i1, i2, i3, 0.3, 0.4, -1).To(o1, o2, o3, o4)
+o1 = Output("scoresOut", "TENSOR_FLOAT32", "{18}") # scores out
+o2 = Output("roiOut", "TENSOR_FLOAT32", "{18, 4}") # roi out
+o3 = Output("classesOut", "TENSOR_INT32", "{18}") # classes out
+o4 = Output("batchSplitOut", "TENSOR_INT32", "{18}") # batch split out
+model = Model().Operation("BOX_WITH_NMS_LIMIT", i1, i2, i3, 0.3, -1, 2, 0.4, 0.5, 0.3).To(o1, o2, o3, o4)
 
 quant8 = DataTypeConverter().Identify({
     i1: ("TENSOR_QUANT8_ASYMM", 0.01, 0),
@@ -81,30 +79,38 @@
 }
 
 output0 = {
-    o1: [0.95, 0.85, 0.75, 0.95, 0.7, 0.95, 0.9, 0.85, 0.75, 0.95, 0.8, 0.7],
+    o1: [
+        0.95, 0.7879927, 0.52485234, 0.47400165, 0.95, 0.6894936, 0.4812244, 0.42367333,
+        0.95, 0.89983034, 0.7879927, 0.52485234, 0.47400165, 0.95, 0.8, 0.6894936, 0.4811337, 0.42367333
+    ],
     o2: [
         0, 0, 10, 10,
-        4, 4, 14, 14,
+        6, 6, 16, 16,
+        2, 2, 12, 12,
         8, 8, 18, 18,
         2, 2, 12, 12,
         8, 8, 18, 18,
+        0, 0, 10, 10,
+        4, 4, 14, 14,
         1, 1, 11, 11,
         0, 0,  2,  2,
-        5, 5, 15, 15,
+        7, 7, 17, 17,
+        3, 3, 13, 13,
         9, 9, 19, 19,
         3, 3, 13, 13,
         0, 0,  2,  2,
-        9, 9, 19, 19
+        9, 9, 19, 19,
+        1, 1, 11, 11,
+        5, 5, 15, 15
     ],
-    o3: [1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2],
-    o4: [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1],
+    o3: [1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2],
+    o4: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
 }
 
 Example((input0, output0)).AddVariations("relaxed", "float16", quant8)
 
 
 # TEST 2: BOX_WITH_NMS_LIMIT, score_threshold = 0.3, nms_threshold = 0.4, max_detections = 5
-model = Model()
 i1 = Input("scores", "TENSOR_FLOAT32", "{19, 3}") # scores
 i2 = Input("roi", "TENSOR_FLOAT32", "{19, 12}") # roi
 i3 = Input("batchSplit", "TENSOR_INT32", "{19}") # batchSplit
@@ -113,8 +119,7 @@
 o2 = Output("roiOut", "TENSOR_FLOAT32", "{10, 4}") # roi out
 o3 = Output("classesOut", "TENSOR_INT32", "{10}") # classes out
 o4 = Output("batchSplitOut", "TENSOR_INT32", "{10}") # batch split out
-model = model.Operation("BOX_WITH_NMS_LIMIT",
-    i1, i2, i3, 0.3, 0.4, 5).To(o1, o2, o3, o4)
+model = Model().Operation("BOX_WITH_NMS_LIMIT", i1, i2, i3, 0.3, 5, 2, 0.4, 0.5, 0.3).To(o1, o2, o3, o4)
 
 quant8 = DataTypeConverter().Identify({
     i1: ("TENSOR_QUANT8_ASYMM", 0.01, 128),
@@ -170,18 +175,21 @@
 }
 
 output0 = {
-    o1: [0.95, 0.85, 0.75, 0.95, 0.7, 0.95, 0.9, 0.85, 0.95, 0.8],
+    o1: [
+        0.95, 0.7879927, 0.52485234, 0.95, 0.6894936,
+        0.95, 0.89983034, 0.7879927, 0.95, 0.8
+    ],
     o2: [
         0, 0, 10, 10,
-        4, 4, 14, 14,
-        8, 8, 18, 18,
+        6, 6, 16, 16,
+        2, 2, 12, 12,
         2, 2, 12, 12,
         8, 8, 18, 18,
         1, 1, 11, 11,
         0, 0,  2,  2,
-        5, 5, 15, 15,
+        7, 7, 17, 17,
         3, 3, 13, 13,
-        0, 0,  2,  2
+        0, 0,  2,  2,
     ],
     o3: [1, 1, 1, 2, 2, 1, 1, 1, 2, 2],
     o4: [1, 1, 1, 1, 1, 3, 3, 3, 3, 3],
diff --git a/runtime/test/specs/V1_2/box_with_nms_limit.mod.py b/runtime/test/specs/V1_2/box_with_nms_limit_hard.mod.py
similarity index 96%
rename from runtime/test/specs/V1_2/box_with_nms_limit.mod.py
rename to runtime/test/specs/V1_2/box_with_nms_limit_hard.mod.py
index 12370f7..b572a64 100644
--- a/runtime/test/specs/V1_2/box_with_nms_limit.mod.py
+++ b/runtime/test/specs/V1_2/box_with_nms_limit_hard.mod.py
@@ -15,7 +15,6 @@
 #
 
 # TEST 1: BOX_WITH_NMS_LIMIT, score_threshold = 0.3, nms_threshold = 0.4, max_detections = -1
-model = Model()
 i1 = Input("scores", "TENSOR_FLOAT32", "{19, 3}") # scores
 i2 = Input("roi", "TENSOR_FLOAT32", "{19, 12}") # roi
 i3 = Input("batchSplit", "TENSOR_INT32", "{19}") # batchSplit
@@ -24,8 +23,7 @@
 o2 = Output("roiOut", "TENSOR_FLOAT32", "{12, 4}") # roi out
 o3 = Output("classesOut", "TENSOR_INT32", "{12}") # classes out
 o4 = Output("batchSplitOut", "TENSOR_INT32", "{12}") # batch split out
-model = model.Operation("BOX_WITH_NMS_LIMIT",
-    i1, i2, i3, 0.3, 0.4, -1).To(o1, o2, o3, o4)
+model = Model().Operation("BOX_WITH_NMS_LIMIT", i1, i2, i3, 0.3, -1, 0, 0.4, 1.0, 0.3).To(o1, o2, o3, o4)
 
 quant8 = DataTypeConverter().Identify({
     i1: ("TENSOR_QUANT8_ASYMM", 0.01, 0),
@@ -104,7 +102,6 @@
 
 
 # TEST 2: BOX_WITH_NMS_LIMIT, score_threshold = 0.3, nms_threshold = 0.4, max_detections = 5
-model = Model()
 i1 = Input("scores", "TENSOR_FLOAT32", "{19, 3}") # scores
 i2 = Input("roi", "TENSOR_FLOAT32", "{19, 12}") # roi
 i3 = Input("batchSplit", "TENSOR_INT32", "{19}") # batchSplit
@@ -113,8 +110,7 @@
 o2 = Output("roiOut", "TENSOR_FLOAT32", "{10, 4}") # roi out
 o3 = Output("classesOut", "TENSOR_INT32", "{10}") # classes out
 o4 = Output("batchSplitOut", "TENSOR_INT32", "{10}") # batch split out
-model = model.Operation("BOX_WITH_NMS_LIMIT",
-    i1, i2, i3, 0.3, 0.4, 5).To(o1, o2, o3, o4)
+model = Model().Operation("BOX_WITH_NMS_LIMIT", i1, i2, i3, 0.3, 5, 0, 0.4, 0.5, 0.3).To(o1, o2, o3, o4)
 
 quant8 = DataTypeConverter().Identify({
     i1: ("TENSOR_QUANT8_ASYMM", 0.01, 128),
diff --git a/runtime/test/specs/V1_2/box_with_nms_limit.mod.py b/runtime/test/specs/V1_2/box_with_nms_limit_linear.mod.py
similarity index 78%
copy from runtime/test/specs/V1_2/box_with_nms_limit.mod.py
copy to runtime/test/specs/V1_2/box_with_nms_limit_linear.mod.py
index 12370f7..4d3bc20 100644
--- a/runtime/test/specs/V1_2/box_with_nms_limit.mod.py
+++ b/runtime/test/specs/V1_2/box_with_nms_limit_linear.mod.py
@@ -15,17 +15,15 @@
 #
 
 # TEST 1: BOX_WITH_NMS_LIMIT, score_threshold = 0.3, nms_threshold = 0.4, max_detections = -1
-model = Model()
 i1 = Input("scores", "TENSOR_FLOAT32", "{19, 3}") # scores
 i2 = Input("roi", "TENSOR_FLOAT32", "{19, 12}") # roi
 i3 = Input("batchSplit", "TENSOR_INT32", "{19}") # batchSplit
 
-o1 = Output("scoresOut", "TENSOR_FLOAT32", "{12}") # scores out
-o2 = Output("roiOut", "TENSOR_FLOAT32", "{12, 4}") # roi out
-o3 = Output("classesOut", "TENSOR_INT32", "{12}") # classes out
-o4 = Output("batchSplitOut", "TENSOR_INT32", "{12}") # batch split out
-model = model.Operation("BOX_WITH_NMS_LIMIT",
-    i1, i2, i3, 0.3, 0.4, -1).To(o1, o2, o3, o4)
+o1 = Output("scoresOut", "TENSOR_FLOAT32", "{16}") # scores out
+o2 = Output("roiOut", "TENSOR_FLOAT32", "{16, 4}") # roi out
+o3 = Output("classesOut", "TENSOR_INT32", "{16}") # classes out
+o4 = Output("batchSplitOut", "TENSOR_INT32", "{16}") # batch split out
+model = Model().Operation("BOX_WITH_NMS_LIMIT", i1, i2, i3, 0.3, -1, 1, 0.4, 1.0, 0.3).To(o1, o2, o3, o4)
 
 quant8 = DataTypeConverter().Identify({
     i1: ("TENSOR_QUANT8_ASYMM", 0.01, 0),
@@ -81,40 +79,45 @@
 }
 
 output0 = {
-    o1: [0.95, 0.85, 0.75, 0.95, 0.7, 0.95, 0.9, 0.85, 0.75, 0.95, 0.8, 0.7],
+    o1: [
+        0.95, 0.85, 0.75, 0.95, 0.7, 0.42352945, 0.39705884,
+        0.95, 0.9, 0.85, 0.75, 0.95, 0.8, 0.7, 0.42352945, 0.39705884
+    ],
     o2: [
         0, 0, 10, 10,
         4, 4, 14, 14,
         8, 8, 18, 18,
         2, 2, 12, 12,
         8, 8, 18, 18,
+        4, 4, 14, 14,
+        0, 0, 10, 10,
         1, 1, 11, 11,
         0, 0,  2,  2,
         5, 5, 15, 15,
         9, 9, 19, 19,
         3, 3, 13, 13,
         0, 0,  2,  2,
-        9, 9, 19, 19
+        9, 9, 19, 19,
+        5, 5, 15, 15,
+        1, 1, 11, 11
     ],
-    o3: [1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2],
-    o4: [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1],
+    o3: [1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2],
+    o4: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1],
 }
 
 Example((input0, output0)).AddVariations("relaxed", "float16", quant8)
 
 
 # TEST 2: BOX_WITH_NMS_LIMIT, score_threshold = 0.3, nms_threshold = 0.4, max_detections = 5
-model = Model()
 i1 = Input("scores", "TENSOR_FLOAT32", "{19, 3}") # scores
 i2 = Input("roi", "TENSOR_FLOAT32", "{19, 12}") # roi
 i3 = Input("batchSplit", "TENSOR_INT32", "{19}") # batchSplit
 
-o1 = Output("scoresOut", "TENSOR_FLOAT32", "{10}") # scores out
-o2 = Output("roiOut", "TENSOR_FLOAT32", "{10, 4}") # roi out
-o3 = Output("classesOut", "TENSOR_INT32", "{10}") # classes out
-o4 = Output("batchSplitOut", "TENSOR_INT32", "{10}") # batch split out
-model = model.Operation("BOX_WITH_NMS_LIMIT",
-    i1, i2, i3, 0.3, 0.4, 5).To(o1, o2, o3, o4)
+o1 = Output("scoresOut", "TENSOR_FLOAT32", "{15}") # scores out
+o2 = Output("roiOut", "TENSOR_FLOAT32", "{15, 4}") # roi out
+o3 = Output("classesOut", "TENSOR_INT32", "{15}") # classes out
+o4 = Output("batchSplitOut", "TENSOR_INT32", "{15}") # batch split out
+model = Model().Operation("BOX_WITH_NMS_LIMIT", i1, i2, i3, 0.3, 8, 1, 0.4, 0.5, 0.3).To(o1, o2, o3, o4)
 
 quant8 = DataTypeConverter().Identify({
     i1: ("TENSOR_QUANT8_ASYMM", 0.01, 128),
@@ -170,21 +173,29 @@
 }
 
 output0 = {
-    o1: [0.95, 0.85, 0.75, 0.95, 0.7, 0.95, 0.9, 0.85, 0.95, 0.8],
+    o1: [
+        0.95, 0.85, 0.75, 0.95, 0.7, 0.42352945, 0.39705884,
+        0.95, 0.9, 0.85, 0.75, 0.95, 0.8, 0.7, 0.42352945
+    ],
     o2: [
         0, 0, 10, 10,
         4, 4, 14, 14,
         8, 8, 18, 18,
         2, 2, 12, 12,
         8, 8, 18, 18,
+        4, 4, 14, 14,
+        0, 0, 10, 10,
         1, 1, 11, 11,
         0, 0,  2,  2,
         5, 5, 15, 15,
+        9, 9, 19, 19,
         3, 3, 13, 13,
-        0, 0,  2,  2
+        0, 0,  2,  2,
+        9, 9, 19, 19,
+        5, 5, 15, 15
     ],
-    o3: [1, 1, 1, 2, 2, 1, 1, 1, 2, 2],
-    o4: [1, 1, 1, 1, 1, 3, 3, 3, 3, 3],
+    o3: [1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2],
+    o4: [1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3],
 }
 
 Example((input0, output0)).AddVariations("relaxed", "float16", quant8)
diff --git a/runtime/test/specs/V1_2/concat_zero_sized.mod.py b/runtime/test/specs/V1_2/concat_zero_sized.mod.py
index 906fc8f..1e374b4 100644
--- a/runtime/test/specs/V1_2/concat_zero_sized.mod.py
+++ b/runtime/test/specs/V1_2/concat_zero_sized.mod.py
@@ -23,7 +23,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model().Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model().Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
@@ -63,7 +63,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model().Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model().Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/conv2d_per_channel.mod.py b/runtime/test/specs/V1_2/conv2d_per_channel.mod.py
index c391efb..8780b48 100644
--- a/runtime/test/specs/V1_2/conv2d_per_channel.mod.py
+++ b/runtime/test/specs/V1_2/conv2d_per_channel.mod.py
@@ -51,7 +51,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_QUANT16_ASYMM", "{0, 4}, 0.125f, 0") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 i1 = Input("in", "TENSOR_QUANT8_ASYMM", "{1, 1, 1, 2}, 0.5f, 128")
diff --git a/runtime/test/specs/V1_2/conv2d_v1_2.mod.py b/runtime/test/specs/V1_2/conv2d_v1_2.mod.py
index cf06b36..c0fdafb 100644
--- a/runtime/test/specs/V1_2/conv2d_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/conv2d_v1_2.mod.py
@@ -220,7 +220,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 i1 = Input("in", "TENSOR_FLOAT32", "{1, 1, 1, 1}")
@@ -263,7 +263,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 i1 = Input("in", "TENSOR_FLOAT32", "{1, 1, 1, 1}")
diff --git a/runtime/test/specs/V1_2/dequantize_v1_2.mod.py b/runtime/test/specs/V1_2/dequantize_v1_2.mod.py
index 8937264..9af0a57 100644
--- a/runtime/test/specs/V1_2/dequantize_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/dequantize_v1_2.mod.py
@@ -118,7 +118,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_QUANT16_ASYMM", "{0, 4}, 0.125f, 0") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/div_v1_2.mod.py b/runtime/test/specs/V1_2/div_v1_2.mod.py
index 524cd08..b92b67a 100644
--- a/runtime/test/specs/V1_2/div_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/div_v1_2.mod.py
@@ -66,7 +66,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/fully_connected_v1_2.mod.py b/runtime/test/specs/V1_2/fully_connected_v1_2.mod.py
index d26ee35..d4b2d56 100644
--- a/runtime/test/specs/V1_2/fully_connected_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/fully_connected_v1_2.mod.py
@@ -49,7 +49,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/l2_pool_v1_2.mod.py b/runtime/test/specs/V1_2/l2_pool_v1_2.mod.py
index ee8532b..1754478 100644
--- a/runtime/test/specs/V1_2/l2_pool_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/l2_pool_v1_2.mod.py
@@ -61,7 +61,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 i1 = Input("in", "TENSOR_FLOAT32", "{1, 1, 1, 1}")
@@ -90,7 +90,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 i1 = Input("in", "TENSOR_FLOAT32", "{1, 1, 1, 1}")
diff --git a/runtime/test/specs/V1_2/logistic_v1_2.mod.py b/runtime/test/specs/V1_2/logistic_v1_2.mod.py
index 6412398..f8037b1 100644
--- a/runtime/test/specs/V1_2/logistic_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/logistic_v1_2.mod.py
@@ -63,7 +63,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/max_pool_v1_2.mod.py b/runtime/test/specs/V1_2/max_pool_v1_2.mod.py
index 49ad6ba..979cf2e 100644
--- a/runtime/test/specs/V1_2/max_pool_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/max_pool_v1_2.mod.py
@@ -117,7 +117,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 i1 = Input("in", "TENSOR_FLOAT32", "{1, 1, 1, 1}")
@@ -156,7 +156,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 i1 = Input("in", "TENSOR_FLOAT32", "{1, 1, 1, 1}")
diff --git a/runtime/test/specs/V1_2/mul_v1_2.mod.py b/runtime/test/specs/V1_2/mul_v1_2.mod.py
index 69f51dc..8d1002b 100644
--- a/runtime/test/specs/V1_2/mul_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/mul_v1_2.mod.py
@@ -66,7 +66,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/quantize.mod.py b/runtime/test/specs/V1_2/quantize.mod.py
index 9bc9f59..a42624d 100644
--- a/runtime/test/specs/V1_2/quantize.mod.py
+++ b/runtime/test/specs/V1_2/quantize.mod.py
@@ -48,7 +48,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/relu1_v1_2.mod.py b/runtime/test/specs/V1_2/relu1_v1_2.mod.py
index edce1b8..9b69ea6 100644
--- a/runtime/test/specs/V1_2/relu1_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/relu1_v1_2.mod.py
@@ -57,7 +57,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/relu6_v1_2.mod.py b/runtime/test/specs/V1_2/relu6_v1_2.mod.py
index 7b7b6af..068f53f 100644
--- a/runtime/test/specs/V1_2/relu6_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/relu6_v1_2.mod.py
@@ -57,7 +57,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/relu_v1_2.mod.py b/runtime/test/specs/V1_2/relu_v1_2.mod.py
index b18054a..9065fc9 100644
--- a/runtime/test/specs/V1_2/relu_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/relu_v1_2.mod.py
@@ -57,7 +57,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/resize_bilinear_v1_2.mod.py b/runtime/test/specs/V1_2/resize_bilinear_v1_2.mod.py
index 91c8245..912a1e0 100644
--- a/runtime/test/specs/V1_2/resize_bilinear_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/resize_bilinear_v1_2.mod.py
@@ -97,7 +97,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 i1 = Input("in", "TENSOR_FLOAT32", "{1, 1, 1, 1}")
@@ -136,7 +136,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 i1 = Input("in", "TENSOR_FLOAT32", "{1, 1, 1, 1}")
diff --git a/runtime/test/specs/V1_2/resize_nearest_neighbor.mod.py b/runtime/test/specs/V1_2/resize_nearest_neighbor.mod.py
index 398f035..ebecacf 100644
--- a/runtime/test/specs/V1_2/resize_nearest_neighbor.mod.py
+++ b/runtime/test/specs/V1_2/resize_nearest_neighbor.mod.py
@@ -195,7 +195,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 i1 = Input("in", "TENSOR_FLOAT32", "{1, 1, 1, 1}")
@@ -234,7 +234,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 i1 = Input("in", "TENSOR_FLOAT32", "{1, 1, 1, 1}")
diff --git a/runtime/test/specs/V1_2/roi_align.mod.py b/runtime/test/specs/V1_2/roi_align.mod.py
index 3c397f1..e6bdee6 100644
--- a/runtime/test/specs/V1_2/roi_align.mod.py
+++ b/runtime/test/specs/V1_2/roi_align.mod.py
@@ -220,7 +220,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # ROI_ALIGN op with numRois = 0.
 i1 = Input("in", "TENSOR_FLOAT32", "{1, 1, 1, 1}")
diff --git a/runtime/test/specs/V1_2/slice.mod.py b/runtime/test/specs/V1_2/slice.mod.py
index 3512801..f3683ba 100644
--- a/runtime/test/specs/V1_2/slice.mod.py
+++ b/runtime/test/specs/V1_2/slice.mod.py
@@ -116,7 +116,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/softmax_v1_2.mod.py b/runtime/test/specs/V1_2/softmax_v1_2.mod.py
index 7f3dd89..c04a0d3 100644
--- a/runtime/test/specs/V1_2/softmax_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/softmax_v1_2.mod.py
@@ -60,7 +60,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/sub_v1_2.mod.py b/runtime/test/specs/V1_2/sub_v1_2.mod.py
index ab6fc19..5ff0793 100644
--- a/runtime/test/specs/V1_2/sub_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/sub_v1_2.mod.py
@@ -63,7 +63,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/tanh_v1_2.mod.py b/runtime/test/specs/V1_2/tanh_v1_2.mod.py
index def7326..c65d09f 100644
--- a/runtime/test/specs/V1_2/tanh_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/tanh_v1_2.mod.py
@@ -58,7 +58,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC
diff --git a/runtime/test/specs/V1_2/transpose_v1_2.mod.py b/runtime/test/specs/V1_2/transpose_v1_2.mod.py
index 2e87ba7..50c3bd8 100644
--- a/runtime/test/specs/V1_2/transpose_v1_2.mod.py
+++ b/runtime/test/specs/V1_2/transpose_v1_2.mod.py
@@ -47,7 +47,7 @@
 o2 = Output("classesOut", "TENSOR_INT32", "{0}") # classes out
 tmp1 = Internal("roiOut", "TENSOR_FLOAT32", "{0, 4}") # roi out
 tmp2 = Internal("batchSplitOut", "TENSOR_INT32", "{0}") # batch split out
-model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3, 0.4, -1).To(o1, tmp1, o2, tmp2)
+model = Model("zero_sized").Operation("BOX_WITH_NMS_LIMIT", p1, p2, [0], 0.3,  -1, 0, 0.4, 1.0, 0.3).To(o1, tmp1, o2, tmp2)
 
 # Use ROI_ALIGN op to convert into zero-sized feature map.
 layout = BoolScalar("layout", False) # NHWC