xref: /aosp_15_r20/external/XNNPACK/models/fp32-mobilenet-v3-small.cc (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
1 // Copyright 2020 Google LLC
2 //
3 // This source code is licensed under the BSD-style license found in the
4 // LICENSE file in the root directory of this source tree.
5 
6 #include <xnnpack.h>
7 
8 #include <array>
9 #include <algorithm>
10 #include <functional>
11 #include <iostream>
12 #include <limits>
13 #include <random>
14 
15 #include <xnnpack/cache.h>
16 
17 #include "models/models.h"
18 
19 namespace models {
20 
FP32MobileNetV3Small(pthreadpool_t threadpool)21 ExecutionPlan FP32MobileNetV3Small(pthreadpool_t threadpool) {
22   alignas(16) static std::array<float, 150528 + XNN_EXTRA_BYTES / sizeof(float)> v0;
23   alignas(16) static std::array<float, 200704> v1;
24   alignas(16) static std::array<float, 200704> v2;
25   alignas(16) static std::array<float, 50176> v3;
26   alignas(16) static std::array<float, 16> v4;
27   alignas(16) static std::array<float, 8> v5;
28   alignas(16) static std::array<float, 16> v6;
29   alignas(16) static std::array<float, 50176> v7;
30   alignas(16) static std::array<float, 50176> v8;
31   alignas(16) static std::array<float, 225792> v9;
32   alignas(16) static std::array<float, 56448> v10;
33   alignas(16) static std::array<float, 18816> v11;
34   alignas(16) static std::array<float, 68992> v12;
35   alignas(16) static std::array<float, 68992> v13;
36   alignas(16) static std::array<float, 18816> v14;
37   alignas(16) static std::array<float, 18816> v15;
38   alignas(16) static std::array<float, 75264> v16;
39   alignas(16) static std::array<float, 75264> v17;
40   alignas(16) static std::array<float, 18816> v18;
41   alignas(16) static std::array<float, 18816> v19;
42   alignas(16) static std::array<float, 96> v20;
43   alignas(16) static std::array<float, 24> v21;
44   alignas(16) static std::array<float, 96> v22;
45   alignas(16) static std::array<float, 18816> v23;
46   alignas(16) static std::array<float, 7840> v24;
47   alignas(16) static std::array<float, 47040> v25;
48   alignas(16) static std::array<float, 47040> v26;
49   alignas(16) static std::array<float, 47040> v27;
50   alignas(16) static std::array<float, 47040> v28;
51   alignas(16) static std::array<float, 240> v29;
52   alignas(16) static std::array<float, 64> v30;
53   alignas(16) static std::array<float, 240> v31;
54   alignas(16) static std::array<float, 47040> v32;
55   alignas(16) static std::array<float, 7840> v33;
56   alignas(16) static std::array<float, 7840> v34;
57   alignas(16) static std::array<float, 47040> v35;
58   alignas(16) static std::array<float, 47040> v36;
59   alignas(16) static std::array<float, 47040> v37;
60   alignas(16) static std::array<float, 47040> v38;
61   alignas(16) static std::array<float, 240> v39;
62   alignas(16) static std::array<float, 64> v40;
63   alignas(16) static std::array<float, 240> v41;
64   alignas(16) static std::array<float, 47040> v42;
65   alignas(16) static std::array<float, 7840> v43;
66   alignas(16) static std::array<float, 7840> v44;
67   alignas(16) static std::array<float, 23520> v45;
68   alignas(16) static std::array<float, 23520> v46;
69   alignas(16) static std::array<float, 23520> v47;
70   alignas(16) static std::array<float, 23520> v48;
71   alignas(16) static std::array<float, 120> v49;
72   alignas(16) static std::array<float, 32> v50;
73   alignas(16) static std::array<float, 120> v51;
74   alignas(16) static std::array<float, 23520> v52;
75   alignas(16) static std::array<float, 9408> v53;
76   alignas(16) static std::array<float, 28224> v54;
77   alignas(16) static std::array<float, 28224> v55;
78   alignas(16) static std::array<float, 28224> v56;
79   alignas(16) static std::array<float, 28224> v57;
80   alignas(16) static std::array<float, 144> v58;
81   alignas(16) static std::array<float, 40> v59;
82   alignas(16) static std::array<float, 144> v60;
83   alignas(16) static std::array<float, 28224> v61;
84   alignas(16) static std::array<float, 9408> v62;
85   alignas(16) static std::array<float, 9408> v63;
86   alignas(16) static std::array<float, 56448> v64;
87   alignas(16) static std::array<float, 56448> v65;
88   alignas(16) static std::array<float, 14112> v66;
89   alignas(16) static std::array<float, 14112> v67;
90   alignas(16) static std::array<float, 288> v68;
91   alignas(16) static std::array<float, 72> v69;
92   alignas(16) static std::array<float, 288> v70;
93   alignas(16) static std::array<float, 14112> v71;
94   alignas(16) static std::array<float, 4704> v72;
95   alignas(16) static std::array<float, 28224> v73;
96   alignas(16) static std::array<float, 28224> v74;
97   alignas(16) static std::array<float, 28224> v75;
98   alignas(16) static std::array<float, 28224> v76;
99   alignas(16) static std::array<float, 576> v77;
100   alignas(16) static std::array<float, 144> v78;
101   alignas(16) static std::array<float, 576> v79;
102   alignas(16) static std::array<float, 28224> v80;
103   alignas(16) static std::array<float, 4704> v81;
104   alignas(16) static std::array<float, 4704> v82;
105   alignas(16) static std::array<float, 28224> v83;
106   alignas(16) static std::array<float, 28224> v84;
107   alignas(16) static std::array<float, 28224> v85;
108   alignas(16) static std::array<float, 28224> v86;
109   alignas(16) static std::array<float, 576> v87;
110   alignas(16) static std::array<float, 144> v88;
111   alignas(16) static std::array<float, 576> v89;
112   alignas(16) static std::array<float, 28224> v90;
113   alignas(16) static std::array<float, 4704> v91;
114   alignas(16) static std::array<float, 4704> v92;
115   alignas(16) static std::array<float, 28224> v93;
116   alignas(16) static std::array<float, 28224> v94;
117   alignas(16) static std::array<float, 576> v95;
118   alignas(16) static std::array<float, 1024> v96;
119   alignas(16) static std::array<float, 1024> v97;
120   alignas(16) static std::array<float, 1024> v98;
121   alignas(16) static std::array<float, 1001> v99;
122   alignas(16) static std::array<float, 432> w100;
123   alignas(16) static std::array<float, 16> w101;
124   alignas(16) static std::array<float, 144> w102;
125   alignas(16) static std::array<float, 16> w103;
126   alignas(16) static std::array<float, 128> w104;
127   alignas(16) static std::array<float, 8> w105;
128   alignas(16) static std::array<float, 128> w106;
129   alignas(16) static std::array<float, 16> w107;
130   alignas(16) static std::array<float, 256> w108;
131   alignas(16) static std::array<float, 16> w109;
132   alignas(16) static std::array<float, 1152> w110;
133   alignas(16) static std::array<float, 72> w111;
134   alignas(16) static std::array<float, 648> w112;
135   alignas(16) static std::array<float, 72> w113;
136   alignas(16) static std::array<float, 1728> w114;
137   alignas(16) static std::array<float, 24> w115;
138   alignas(16) static std::array<float, 2112> w116;
139   alignas(16) static std::array<float, 88> w117;
140   alignas(16) static std::array<float, 792> w118;
141   alignas(16) static std::array<float, 88> w119;
142   alignas(16) static std::array<float, 2112> w120;
143   alignas(16) static std::array<float, 24> w121;
144   alignas(16) static std::array<float, 2304> w122;
145   alignas(16) static std::array<float, 96> w123;
146   alignas(16) static std::array<float, 2400> w124;
147   alignas(16) static std::array<float, 96> w125;
148   alignas(16) static std::array<float, 2304> w126;
149   alignas(16) static std::array<float, 24> w127;
150   alignas(16) static std::array<float, 2304> w128;
151   alignas(16) static std::array<float, 96> w129;
152   alignas(16) static std::array<float, 3840> w130;
153   alignas(16) static std::array<float, 40> w131;
154   alignas(16) static std::array<float, 9600> w132;
155   alignas(16) static std::array<float, 240> w133;
156   alignas(16) static std::array<float, 6000> w134;
157   alignas(16) static std::array<float, 240> w135;
158   alignas(16) static std::array<float, 15360> w136;
159   alignas(16) static std::array<float, 64> w137;
160   alignas(16) static std::array<float, 15360> w138;
161   alignas(16) static std::array<float, 240> w139;
162   alignas(16) static std::array<float, 9600> w140;
163   alignas(16) static std::array<float, 40> w141;
164   alignas(16) static std::array<float, 9600> w142;
165   alignas(16) static std::array<float, 240> w143;
166   alignas(16) static std::array<float, 6000> w144;
167   alignas(16) static std::array<float, 240> w145;
168   alignas(16) static std::array<float, 15360> w146;
169   alignas(16) static std::array<float, 64> w147;
170   alignas(16) static std::array<float, 15360> w148;
171   alignas(16) static std::array<float, 240> w149;
172   alignas(16) static std::array<float, 9600> w150;
173   alignas(16) static std::array<float, 40> w151;
174   alignas(16) static std::array<float, 4800> w152;
175   alignas(16) static std::array<float, 120> w153;
176   alignas(16) static std::array<float, 3000> w154;
177   alignas(16) static std::array<float, 120> w155;
178   alignas(16) static std::array<float, 3840> w156;
179   alignas(16) static std::array<float, 32> w157;
180   alignas(16) static std::array<float, 3840> w158;
181   alignas(16) static std::array<float, 120> w159;
182   alignas(16) static std::array<float, 5760> w160;
183   alignas(16) static std::array<float, 48> w161;
184   alignas(16) static std::array<float, 6912> w162;
185   alignas(16) static std::array<float, 144> w163;
186   alignas(16) static std::array<float, 3600> w164;
187   alignas(16) static std::array<float, 144> w165;
188   alignas(16) static std::array<float, 5760> w166;
189   alignas(16) static std::array<float, 40> w167;
190   alignas(16) static std::array<float, 5760> w168;
191   alignas(16) static std::array<float, 144> w169;
192   alignas(16) static std::array<float, 6912> w170;
193   alignas(16) static std::array<float, 48> w171;
194   alignas(16) static std::array<float, 13824> w172;
195   alignas(16) static std::array<float, 288> w173;
196   alignas(16) static std::array<float, 7200> w174;
197   alignas(16) static std::array<float, 288> w175;
198   alignas(16) static std::array<float, 20736> w176;
199   alignas(16) static std::array<float, 72> w177;
200   alignas(16) static std::array<float, 20736> w178;
201   alignas(16) static std::array<float, 288> w179;
202   alignas(16) static std::array<float, 27648> w180;
203   alignas(16) static std::array<float, 96> w181;
204   alignas(16) static std::array<float, 55296> w182;
205   alignas(16) static std::array<float, 576> w183;
206   alignas(16) static std::array<float, 14400> w184;
207   alignas(16) static std::array<float, 576> w185;
208   alignas(16) static std::array<float, 82944> w186;
209   alignas(16) static std::array<float, 144> w187;
210   alignas(16) static std::array<float, 82944> w188;
211   alignas(16) static std::array<float, 576> w189;
212   alignas(16) static std::array<float, 55296> w190;
213   alignas(16) static std::array<float, 96> w191;
214   alignas(16) static std::array<float, 55296> w192;
215   alignas(16) static std::array<float, 576> w193;
216   alignas(16) static std::array<float, 14400> w194;
217   alignas(16) static std::array<float, 576> w195;
218   alignas(16) static std::array<float, 82944> w196;
219   alignas(16) static std::array<float, 144> w197;
220   alignas(16) static std::array<float, 82944> w198;
221   alignas(16) static std::array<float, 576> w199;
222   alignas(16) static std::array<float, 55296> w200;
223   alignas(16) static std::array<float, 96> w201;
224   alignas(16) static std::array<float, 55296> w202;
225   alignas(16) static std::array<float, 576> w203;
226   alignas(16) static std::array<float, 589824> w204;
227   alignas(16) static std::array<float, 1024> w205;
228   alignas(16) static std::array<float, 1025024> w206;
229   alignas(16) static std::array<float, 1001> w207;
230 
231   std::random_device random_device;
232   auto rng = std::mt19937(random_device());
233   auto f32rng = std::bind(std::uniform_real_distribution<float>(-1.0f, +1.0f), std::ref(rng));
234   std::generate(v0.begin(), v0.end(), std::ref(f32rng));
235   std::generate(v1.begin(), v1.end(), std::ref(f32rng));
236   std::generate(v2.begin(), v2.end(), std::ref(f32rng));
237   std::generate(v3.begin(), v3.end(), std::ref(f32rng));
238   std::generate(v4.begin(), v4.end(), std::ref(f32rng));
239   std::generate(v5.begin(), v5.end(), std::ref(f32rng));
240   std::generate(v6.begin(), v6.end(), std::ref(f32rng));
241   std::generate(v7.begin(), v7.end(), std::ref(f32rng));
242   std::generate(v8.begin(), v8.end(), std::ref(f32rng));
243   std::generate(v9.begin(), v9.end(), std::ref(f32rng));
244   std::generate(v10.begin(), v10.end(), std::ref(f32rng));
245   std::generate(v11.begin(), v11.end(), std::ref(f32rng));
246   std::generate(v12.begin(), v12.end(), std::ref(f32rng));
247   std::generate(v13.begin(), v13.end(), std::ref(f32rng));
248   std::generate(v14.begin(), v14.end(), std::ref(f32rng));
249   std::generate(v15.begin(), v15.end(), std::ref(f32rng));
250   std::generate(v16.begin(), v16.end(), std::ref(f32rng));
251   std::generate(v17.begin(), v17.end(), std::ref(f32rng));
252   std::generate(v18.begin(), v18.end(), std::ref(f32rng));
253   std::generate(v19.begin(), v19.end(), std::ref(f32rng));
254   std::generate(v20.begin(), v20.end(), std::ref(f32rng));
255   std::generate(v21.begin(), v21.end(), std::ref(f32rng));
256   std::generate(v22.begin(), v22.end(), std::ref(f32rng));
257   std::generate(v23.begin(), v23.end(), std::ref(f32rng));
258   std::generate(v24.begin(), v24.end(), std::ref(f32rng));
259   std::generate(v25.begin(), v25.end(), std::ref(f32rng));
260   std::generate(v26.begin(), v26.end(), std::ref(f32rng));
261   std::generate(v27.begin(), v27.end(), std::ref(f32rng));
262   std::generate(v28.begin(), v28.end(), std::ref(f32rng));
263   std::generate(v29.begin(), v29.end(), std::ref(f32rng));
264   std::generate(v30.begin(), v30.end(), std::ref(f32rng));
265   std::generate(v31.begin(), v31.end(), std::ref(f32rng));
266   std::generate(v32.begin(), v32.end(), std::ref(f32rng));
267   std::generate(v33.begin(), v33.end(), std::ref(f32rng));
268   std::generate(v34.begin(), v34.end(), std::ref(f32rng));
269   std::generate(v35.begin(), v35.end(), std::ref(f32rng));
270   std::generate(v36.begin(), v36.end(), std::ref(f32rng));
271   std::generate(v37.begin(), v37.end(), std::ref(f32rng));
272   std::generate(v38.begin(), v38.end(), std::ref(f32rng));
273   std::generate(v39.begin(), v39.end(), std::ref(f32rng));
274   std::generate(v40.begin(), v40.end(), std::ref(f32rng));
275   std::generate(v41.begin(), v41.end(), std::ref(f32rng));
276   std::generate(v42.begin(), v42.end(), std::ref(f32rng));
277   std::generate(v43.begin(), v43.end(), std::ref(f32rng));
278   std::generate(v44.begin(), v44.end(), std::ref(f32rng));
279   std::generate(v45.begin(), v45.end(), std::ref(f32rng));
280   std::generate(v46.begin(), v46.end(), std::ref(f32rng));
281   std::generate(v47.begin(), v47.end(), std::ref(f32rng));
282   std::generate(v48.begin(), v48.end(), std::ref(f32rng));
283   std::generate(v49.begin(), v49.end(), std::ref(f32rng));
284   std::generate(v50.begin(), v50.end(), std::ref(f32rng));
285   std::generate(v51.begin(), v51.end(), std::ref(f32rng));
286   std::generate(v52.begin(), v52.end(), std::ref(f32rng));
287   std::generate(v53.begin(), v53.end(), std::ref(f32rng));
288   std::generate(v54.begin(), v54.end(), std::ref(f32rng));
289   std::generate(v55.begin(), v55.end(), std::ref(f32rng));
290   std::generate(v56.begin(), v56.end(), std::ref(f32rng));
291   std::generate(v57.begin(), v57.end(), std::ref(f32rng));
292   std::generate(v58.begin(), v58.end(), std::ref(f32rng));
293   std::generate(v59.begin(), v59.end(), std::ref(f32rng));
294   std::generate(v60.begin(), v60.end(), std::ref(f32rng));
295   std::generate(v61.begin(), v61.end(), std::ref(f32rng));
296   std::generate(v62.begin(), v62.end(), std::ref(f32rng));
297   std::generate(v63.begin(), v63.end(), std::ref(f32rng));
298   std::generate(v64.begin(), v64.end(), std::ref(f32rng));
299   std::generate(v65.begin(), v65.end(), std::ref(f32rng));
300   std::generate(v66.begin(), v66.end(), std::ref(f32rng));
301   std::generate(v67.begin(), v67.end(), std::ref(f32rng));
302   std::generate(v68.begin(), v68.end(), std::ref(f32rng));
303   std::generate(v69.begin(), v69.end(), std::ref(f32rng));
304   std::generate(v70.begin(), v70.end(), std::ref(f32rng));
305   std::generate(v71.begin(), v71.end(), std::ref(f32rng));
306   std::generate(v72.begin(), v72.end(), std::ref(f32rng));
307   std::generate(v73.begin(), v73.end(), std::ref(f32rng));
308   std::generate(v74.begin(), v74.end(), std::ref(f32rng));
309   std::generate(v75.begin(), v75.end(), std::ref(f32rng));
310   std::generate(v76.begin(), v76.end(), std::ref(f32rng));
311   std::generate(v77.begin(), v77.end(), std::ref(f32rng));
312   std::generate(v78.begin(), v78.end(), std::ref(f32rng));
313   std::generate(v79.begin(), v79.end(), std::ref(f32rng));
314   std::generate(v80.begin(), v80.end(), std::ref(f32rng));
315   std::generate(v81.begin(), v81.end(), std::ref(f32rng));
316   std::generate(v82.begin(), v82.end(), std::ref(f32rng));
317   std::generate(v83.begin(), v83.end(), std::ref(f32rng));
318   std::generate(v84.begin(), v84.end(), std::ref(f32rng));
319   std::generate(v85.begin(), v85.end(), std::ref(f32rng));
320   std::generate(v86.begin(), v86.end(), std::ref(f32rng));
321   std::generate(v87.begin(), v87.end(), std::ref(f32rng));
322   std::generate(v88.begin(), v88.end(), std::ref(f32rng));
323   std::generate(v89.begin(), v89.end(), std::ref(f32rng));
324   std::generate(v90.begin(), v90.end(), std::ref(f32rng));
325   std::generate(v91.begin(), v91.end(), std::ref(f32rng));
326   std::generate(v92.begin(), v92.end(), std::ref(f32rng));
327   std::generate(v93.begin(), v93.end(), std::ref(f32rng));
328   std::generate(v94.begin(), v94.end(), std::ref(f32rng));
329   std::generate(v95.begin(), v95.end(), std::ref(f32rng));
330   std::generate(v96.begin(), v96.end(), std::ref(f32rng));
331   std::generate(v97.begin(), v97.end(), std::ref(f32rng));
332   std::generate(v98.begin(), v98.end(), std::ref(f32rng));
333   std::generate(v99.begin(), v99.end(), std::ref(f32rng));
334   std::generate(w100.begin(), w100.end(), std::ref(f32rng));
335   std::generate(w101.begin(), w101.end(), std::ref(f32rng));
336   std::generate(w102.begin(), w102.end(), std::ref(f32rng));
337   std::generate(w103.begin(), w103.end(), std::ref(f32rng));
338   std::generate(w104.begin(), w104.end(), std::ref(f32rng));
339   std::generate(w105.begin(), w105.end(), std::ref(f32rng));
340   std::generate(w106.begin(), w106.end(), std::ref(f32rng));
341   std::generate(w107.begin(), w107.end(), std::ref(f32rng));
342   std::generate(w108.begin(), w108.end(), std::ref(f32rng));
343   std::generate(w109.begin(), w109.end(), std::ref(f32rng));
344   std::generate(w110.begin(), w110.end(), std::ref(f32rng));
345   std::generate(w111.begin(), w111.end(), std::ref(f32rng));
346   std::generate(w112.begin(), w112.end(), std::ref(f32rng));
347   std::generate(w113.begin(), w113.end(), std::ref(f32rng));
348   std::generate(w114.begin(), w114.end(), std::ref(f32rng));
349   std::generate(w115.begin(), w115.end(), std::ref(f32rng));
350   std::generate(w116.begin(), w116.end(), std::ref(f32rng));
351   std::generate(w117.begin(), w117.end(), std::ref(f32rng));
352   std::generate(w118.begin(), w118.end(), std::ref(f32rng));
353   std::generate(w119.begin(), w119.end(), std::ref(f32rng));
354   std::generate(w120.begin(), w120.end(), std::ref(f32rng));
355   std::generate(w121.begin(), w121.end(), std::ref(f32rng));
356   std::generate(w122.begin(), w122.end(), std::ref(f32rng));
357   std::generate(w123.begin(), w123.end(), std::ref(f32rng));
358   std::generate(w124.begin(), w124.end(), std::ref(f32rng));
359   std::generate(w125.begin(), w125.end(), std::ref(f32rng));
360   std::generate(w126.begin(), w126.end(), std::ref(f32rng));
361   std::generate(w127.begin(), w127.end(), std::ref(f32rng));
362   std::generate(w128.begin(), w128.end(), std::ref(f32rng));
363   std::generate(w129.begin(), w129.end(), std::ref(f32rng));
364   std::generate(w130.begin(), w130.end(), std::ref(f32rng));
365   std::generate(w131.begin(), w131.end(), std::ref(f32rng));
366   std::generate(w132.begin(), w132.end(), std::ref(f32rng));
367   std::generate(w133.begin(), w133.end(), std::ref(f32rng));
368   std::generate(w134.begin(), w134.end(), std::ref(f32rng));
369   std::generate(w135.begin(), w135.end(), std::ref(f32rng));
370   std::generate(w136.begin(), w136.end(), std::ref(f32rng));
371   std::generate(w137.begin(), w137.end(), std::ref(f32rng));
372   std::generate(w138.begin(), w138.end(), std::ref(f32rng));
373   std::generate(w139.begin(), w139.end(), std::ref(f32rng));
374   std::generate(w140.begin(), w140.end(), std::ref(f32rng));
375   std::generate(w141.begin(), w141.end(), std::ref(f32rng));
376   std::generate(w142.begin(), w142.end(), std::ref(f32rng));
377   std::generate(w143.begin(), w143.end(), std::ref(f32rng));
378   std::generate(w144.begin(), w144.end(), std::ref(f32rng));
379   std::generate(w145.begin(), w145.end(), std::ref(f32rng));
380   std::generate(w146.begin(), w146.end(), std::ref(f32rng));
381   std::generate(w147.begin(), w147.end(), std::ref(f32rng));
382   std::generate(w148.begin(), w148.end(), std::ref(f32rng));
383   std::generate(w149.begin(), w149.end(), std::ref(f32rng));
384   std::generate(w150.begin(), w150.end(), std::ref(f32rng));
385   std::generate(w151.begin(), w151.end(), std::ref(f32rng));
386   std::generate(w152.begin(), w152.end(), std::ref(f32rng));
387   std::generate(w153.begin(), w153.end(), std::ref(f32rng));
388   std::generate(w154.begin(), w154.end(), std::ref(f32rng));
389   std::generate(w155.begin(), w155.end(), std::ref(f32rng));
390   std::generate(w156.begin(), w156.end(), std::ref(f32rng));
391   std::generate(w157.begin(), w157.end(), std::ref(f32rng));
392   std::generate(w158.begin(), w158.end(), std::ref(f32rng));
393   std::generate(w159.begin(), w159.end(), std::ref(f32rng));
394   std::generate(w160.begin(), w160.end(), std::ref(f32rng));
395   std::generate(w161.begin(), w161.end(), std::ref(f32rng));
396   std::generate(w162.begin(), w162.end(), std::ref(f32rng));
397   std::generate(w163.begin(), w163.end(), std::ref(f32rng));
398   std::generate(w164.begin(), w164.end(), std::ref(f32rng));
399   std::generate(w165.begin(), w165.end(), std::ref(f32rng));
400   std::generate(w166.begin(), w166.end(), std::ref(f32rng));
401   std::generate(w167.begin(), w167.end(), std::ref(f32rng));
402   std::generate(w168.begin(), w168.end(), std::ref(f32rng));
403   std::generate(w169.begin(), w169.end(), std::ref(f32rng));
404   std::generate(w170.begin(), w170.end(), std::ref(f32rng));
405   std::generate(w171.begin(), w171.end(), std::ref(f32rng));
406   std::generate(w172.begin(), w172.end(), std::ref(f32rng));
407   std::generate(w173.begin(), w173.end(), std::ref(f32rng));
408   std::generate(w174.begin(), w174.end(), std::ref(f32rng));
409   std::generate(w175.begin(), w175.end(), std::ref(f32rng));
410   std::generate(w176.begin(), w176.end(), std::ref(f32rng));
411   std::generate(w177.begin(), w177.end(), std::ref(f32rng));
412   std::generate(w178.begin(), w178.end(), std::ref(f32rng));
413   std::generate(w179.begin(), w179.end(), std::ref(f32rng));
414   std::generate(w180.begin(), w180.end(), std::ref(f32rng));
415   std::generate(w181.begin(), w181.end(), std::ref(f32rng));
416   std::generate(w182.begin(), w182.end(), std::ref(f32rng));
417   std::generate(w183.begin(), w183.end(), std::ref(f32rng));
418   std::generate(w184.begin(), w184.end(), std::ref(f32rng));
419   std::generate(w185.begin(), w185.end(), std::ref(f32rng));
420   std::generate(w186.begin(), w186.end(), std::ref(f32rng));
421   std::generate(w187.begin(), w187.end(), std::ref(f32rng));
422   std::generate(w188.begin(), w188.end(), std::ref(f32rng));
423   std::generate(w189.begin(), w189.end(), std::ref(f32rng));
424   std::generate(w190.begin(), w190.end(), std::ref(f32rng));
425   std::generate(w191.begin(), w191.end(), std::ref(f32rng));
426   std::generate(w192.begin(), w192.end(), std::ref(f32rng));
427   std::generate(w193.begin(), w193.end(), std::ref(f32rng));
428   std::generate(w194.begin(), w194.end(), std::ref(f32rng));
429   std::generate(w195.begin(), w195.end(), std::ref(f32rng));
430   std::generate(w196.begin(), w196.end(), std::ref(f32rng));
431   std::generate(w197.begin(), w197.end(), std::ref(f32rng));
432   std::generate(w198.begin(), w198.end(), std::ref(f32rng));
433   std::generate(w199.begin(), w199.end(), std::ref(f32rng));
434   std::generate(w200.begin(), w200.end(), std::ref(f32rng));
435   std::generate(w201.begin(), w201.end(), std::ref(f32rng));
436   std::generate(w202.begin(), w202.end(), std::ref(f32rng));
437   std::generate(w203.begin(), w203.end(), std::ref(f32rng));
438   std::generate(w204.begin(), w204.end(), std::ref(f32rng));
439   std::generate(w205.begin(), w205.end(), std::ref(f32rng));
440   std::generate(w206.begin(), w206.end(), std::ref(f32rng));
441   std::generate(w207.begin(), w207.end(), std::ref(f32rng));
442 
443   ExecutionPlan operators;
444   xnn_status status;
445   xnn_code_cache code_cache;
446 #if XNN_PLATFORM_JIT
447   xnn_init_code_cache(&code_cache);
448 #endif
449   xnn_caches caches = { 0 };
450   caches.code_cache = &code_cache;
451 
452   xnn_operator_t op0 = nullptr;
453   status = xnn_create_convolution2d_nhwc_f32(
454     0 /* top padding */, 1 /* right padding */,
455     1 /* bottom padding */, 0 /* left padding */,
456     3 /* kernel height */, 3 /* kernel width */,
457     2 /* subsampling height */, 2 /* subsampling width */,
458     1 /* dilation_height */, 1 /* dilation_width */,
459     1 /* groups */,
460     3 /* input channels per group */,
461     16 /* output_channels_per_group */,
462     3 /* input pixel stride */,
463     16 /* output pixel stride */,
464     w100.data(), w101.data(),
465     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
466     0 /* flags */,
467     &caches,
468     &op0);
469   if (status != xnn_status_success) {
470     std::cerr << "failed to create operation #0" << std::endl;
471     return ExecutionPlan();
472   }
473   operators.emplace_back(op0, xnn_delete_operator);
474 
475   xnn_operator_t op1 = nullptr;
476   status = xnn_create_hardswish_nc_f32(
477     16 /* channels */,
478     16 /* input stride */,
479     16 /* output stride */,
480     0 /* flags */,
481     &op1);
482   if (status != xnn_status_success) {
483     std::cerr << "failed to create operation #1" << std::endl;
484     return ExecutionPlan();
485   }
486   operators.emplace_back(op1, xnn_delete_operator);
487 
488   xnn_operator_t op2 = nullptr;
489   status = xnn_create_convolution2d_nhwc_f32(
490     0 /* top padding */, 1 /* right padding */,
491     1 /* bottom padding */, 0 /* left padding */,
492     3 /* kernel height */, 3 /* kernel width */,
493     2 /* subsampling height */, 2 /* subsampling width */,
494     1 /* dilation_height */, 1 /* dilation_width */,
495     16 /* groups */,
496     1 /* input channels per group */,
497     1 /* output_channels_per_group */,
498     16 /* input pixel stride */,
499     16 /* output pixel stride */,
500     w102.data(), w103.data(),
501     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
502     0 /* flags */,
503     &caches,
504     &op2);
505   if (status != xnn_status_success) {
506     std::cerr << "failed to create operation #2" << std::endl;
507     return ExecutionPlan();
508   }
509   operators.emplace_back(op2, xnn_delete_operator);
510 
511   xnn_operator_t op3 = nullptr;
512   status = xnn_create_global_average_pooling_nwc_f32(
513     16 /* channels */, 16 /* input stride */, 16 /* output stride */,
514     -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
515     0 /* flags */,
516     &op3);
517   if (status != xnn_status_success) {
518     std::cerr << "failed to create operation #3" << std::endl;
519     return ExecutionPlan();
520   }
521   operators.emplace_back(op3, xnn_delete_operator);
522 
523   xnn_operator_t op4 = nullptr;
524   status = xnn_create_convolution2d_nhwc_f32(
525     0 /* top padding */, 0 /* right padding */,
526     0 /* bottom padding */, 0 /* left padding */,
527     1 /* kernel height */, 1 /* kernel width */,
528     1 /* subsampling height */, 1 /* subsampling width */,
529     1 /* dilation_height */, 1 /* dilation_width */,
530     1 /* groups */,
531     16 /* input channels per group */,
532     8 /* output_channels_per_group */,
533     16 /* input pixel stride */,
534     8 /* output pixel stride */,
535     w104.data(), w105.data(),
536     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
537     0 /* flags */,
538     &caches,
539     &op4);
540   if (status != xnn_status_success) {
541     std::cerr << "failed to create operation #4" << std::endl;
542     return ExecutionPlan();
543   }
544   operators.emplace_back(op4, xnn_delete_operator);
545 
546   xnn_operator_t op5 = nullptr;
547   status = xnn_create_convolution2d_nhwc_f32(
548     0 /* top padding */, 0 /* right padding */,
549     0 /* bottom padding */, 0 /* left padding */,
550     1 /* kernel height */, 1 /* kernel width */,
551     1 /* subsampling height */, 1 /* subsampling width */,
552     1 /* dilation_height */, 1 /* dilation_width */,
553     1 /* groups */,
554     8 /* input channels per group */,
555     16 /* output_channels_per_group */,
556     8 /* input pixel stride */,
557     16 /* output pixel stride */,
558     w106.data(), w107.data(),
559     0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
560     0 /* flags */,
561     &caches,
562     &op5);
563   if (status != xnn_status_success) {
564     std::cerr << "failed to create operation #5" << std::endl;
565     return ExecutionPlan();
566   }
567   operators.emplace_back(op5, xnn_delete_operator);
568 
569   xnn_operator_t op6 = nullptr;
570   status = xnn_create_multiply_nd_f32(
571     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
572     0 /* flags */,
573     &op6);
574   if (status != xnn_status_success) {
575     std::cerr << "failed to create operation #6" << std::endl;
576     return ExecutionPlan();
577   }
578   operators.emplace_back(op6, xnn_delete_operator);
579 
580   xnn_operator_t op7 = nullptr;
581   status = xnn_create_convolution2d_nhwc_f32(
582     0 /* top padding */, 0 /* right padding */,
583     0 /* bottom padding */, 0 /* left padding */,
584     1 /* kernel height */, 1 /* kernel width */,
585     1 /* subsampling height */, 1 /* subsampling width */,
586     1 /* dilation_height */, 1 /* dilation_width */,
587     1 /* groups */,
588     16 /* input channels per group */,
589     16 /* output_channels_per_group */,
590     16 /* input pixel stride */,
591     16 /* output pixel stride */,
592     w108.data(), w109.data(),
593     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
594     0 /* flags */,
595     &caches,
596     &op7);
597   if (status != xnn_status_success) {
598     std::cerr << "failed to create operation #7" << std::endl;
599     return ExecutionPlan();
600   }
601   operators.emplace_back(op7, xnn_delete_operator);
602 
603   xnn_operator_t op8 = nullptr;
604   status = xnn_create_convolution2d_nhwc_f32(
605     0 /* top padding */, 0 /* right padding */,
606     0 /* bottom padding */, 0 /* left padding */,
607     1 /* kernel height */, 1 /* kernel width */,
608     1 /* subsampling height */, 1 /* subsampling width */,
609     1 /* dilation_height */, 1 /* dilation_width */,
610     1 /* groups */,
611     16 /* input channels per group */,
612     72 /* output_channels_per_group */,
613     16 /* input pixel stride */,
614     72 /* output pixel stride */,
615     w110.data(), w111.data(),
616     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
617     0 /* flags */,
618     &caches,
619     &op8);
620   if (status != xnn_status_success) {
621     std::cerr << "failed to create operation #8" << std::endl;
622     return ExecutionPlan();
623   }
624   operators.emplace_back(op8, xnn_delete_operator);
625 
626   xnn_operator_t op9 = nullptr;
627   status = xnn_create_convolution2d_nhwc_f32(
628     0 /* top padding */, 1 /* right padding */,
629     1 /* bottom padding */, 0 /* left padding */,
630     3 /* kernel height */, 3 /* kernel width */,
631     2 /* subsampling height */, 2 /* subsampling width */,
632     1 /* dilation_height */, 1 /* dilation_width */,
633     72 /* groups */,
634     1 /* input channels per group */,
635     1 /* output_channels_per_group */,
636     72 /* input pixel stride */,
637     72 /* output pixel stride */,
638     w112.data(), w113.data(),
639     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
640     0 /* flags */,
641     &caches,
642     &op9);
643   if (status != xnn_status_success) {
644     std::cerr << "failed to create operation #9" << std::endl;
645     return ExecutionPlan();
646   }
647   operators.emplace_back(op9, xnn_delete_operator);
648 
649   xnn_operator_t op10 = nullptr;
650   status = xnn_create_convolution2d_nhwc_f32(
651     0 /* top padding */, 0 /* right padding */,
652     0 /* bottom padding */, 0 /* left padding */,
653     1 /* kernel height */, 1 /* kernel width */,
654     1 /* subsampling height */, 1 /* subsampling width */,
655     1 /* dilation_height */, 1 /* dilation_width */,
656     1 /* groups */,
657     72 /* input channels per group */,
658     24 /* output_channels_per_group */,
659     72 /* input pixel stride */,
660     24 /* output pixel stride */,
661     w114.data(), w115.data(),
662     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
663     0 /* flags */,
664     &caches,
665     &op10);
666   if (status != xnn_status_success) {
667     std::cerr << "failed to create operation #10" << std::endl;
668     return ExecutionPlan();
669   }
670   operators.emplace_back(op10, xnn_delete_operator);
671 
672   xnn_operator_t op11 = nullptr;
673   status = xnn_create_convolution2d_nhwc_f32(
674     0 /* top padding */, 0 /* right padding */,
675     0 /* bottom padding */, 0 /* left padding */,
676     1 /* kernel height */, 1 /* kernel width */,
677     1 /* subsampling height */, 1 /* subsampling width */,
678     1 /* dilation_height */, 1 /* dilation_width */,
679     1 /* groups */,
680     24 /* input channels per group */,
681     88 /* output_channels_per_group */,
682     24 /* input pixel stride */,
683     88 /* output pixel stride */,
684     w116.data(), w117.data(),
685     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
686     0 /* flags */,
687     &caches,
688     &op11);
689   if (status != xnn_status_success) {
690     std::cerr << "failed to create operation #11" << std::endl;
691     return ExecutionPlan();
692   }
693   operators.emplace_back(op11, xnn_delete_operator);
694 
695   xnn_operator_t op12 = nullptr;
696   status = xnn_create_convolution2d_nhwc_f32(
697     1 /* top padding */, 1 /* right padding */,
698     1 /* bottom padding */, 1 /* left padding */,
699     3 /* kernel height */, 3 /* kernel width */,
700     1 /* subsampling height */, 1 /* subsampling width */,
701     1 /* dilation_height */, 1 /* dilation_width */,
702     88 /* groups */,
703     1 /* input channels per group */,
704     1 /* output_channels_per_group */,
705     88 /* input pixel stride */,
706     88 /* output pixel stride */,
707     w118.data(), w119.data(),
708     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
709     0 /* flags */,
710     &caches,
711     &op12);
712   if (status != xnn_status_success) {
713     std::cerr << "failed to create operation #12" << std::endl;
714     return ExecutionPlan();
715   }
716   operators.emplace_back(op12, xnn_delete_operator);
717 
718   xnn_operator_t op13 = nullptr;
719   status = xnn_create_convolution2d_nhwc_f32(
720     0 /* top padding */, 0 /* right padding */,
721     0 /* bottom padding */, 0 /* left padding */,
722     1 /* kernel height */, 1 /* kernel width */,
723     1 /* subsampling height */, 1 /* subsampling width */,
724     1 /* dilation_height */, 1 /* dilation_width */,
725     1 /* groups */,
726     88 /* input channels per group */,
727     24 /* output_channels_per_group */,
728     88 /* input pixel stride */,
729     24 /* output pixel stride */,
730     w120.data(), w121.data(),
731     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
732     0 /* flags */,
733     &caches,
734     &op13);
735   if (status != xnn_status_success) {
736     std::cerr << "failed to create operation #13" << std::endl;
737     return ExecutionPlan();
738   }
739   operators.emplace_back(op13, xnn_delete_operator);
740 
741   xnn_operator_t op14 = nullptr;
742   status = xnn_create_add_nd_f32(
743     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
744     0 /* flags */,
745     &op14);
746   if (status != xnn_status_success) {
747     std::cerr << "failed to create operation #14" << std::endl;
748     return ExecutionPlan();
749   }
750   operators.emplace_back(op14, xnn_delete_operator);
751 
752   xnn_operator_t op15 = nullptr;
753   status = xnn_create_convolution2d_nhwc_f32(
754     0 /* top padding */, 0 /* right padding */,
755     0 /* bottom padding */, 0 /* left padding */,
756     1 /* kernel height */, 1 /* kernel width */,
757     1 /* subsampling height */, 1 /* subsampling width */,
758     1 /* dilation_height */, 1 /* dilation_width */,
759     1 /* groups */,
760     24 /* input channels per group */,
761     96 /* output_channels_per_group */,
762     24 /* input pixel stride */,
763     96 /* output pixel stride */,
764     w122.data(), w123.data(),
765     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
766     0 /* flags */,
767     &caches,
768     &op15);
769   if (status != xnn_status_success) {
770     std::cerr << "failed to create operation #15" << std::endl;
771     return ExecutionPlan();
772   }
773   operators.emplace_back(op15, xnn_delete_operator);
774 
775   xnn_operator_t op16 = nullptr;
776   status = xnn_create_hardswish_nc_f32(
777     96 /* channels */,
778     96 /* input stride */,
779     96 /* output stride */,
780     0 /* flags */,
781     &op16);
782   if (status != xnn_status_success) {
783     std::cerr << "failed to create operation #16" << std::endl;
784     return ExecutionPlan();
785   }
786   operators.emplace_back(op16, xnn_delete_operator);
787 
788   xnn_operator_t op17 = nullptr;
789   status = xnn_create_convolution2d_nhwc_f32(
790     1 /* top padding */, 2 /* right padding */,
791     2 /* bottom padding */, 1 /* left padding */,
792     5 /* kernel height */, 5 /* kernel width */,
793     2 /* subsampling height */, 2 /* subsampling width */,
794     1 /* dilation_height */, 1 /* dilation_width */,
795     96 /* groups */,
796     1 /* input channels per group */,
797     1 /* output_channels_per_group */,
798     96 /* input pixel stride */,
799     96 /* output pixel stride */,
800     w124.data(), w125.data(),
801     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
802     0 /* flags */,
803     &caches,
804     &op17);
805   if (status != xnn_status_success) {
806     std::cerr << "failed to create operation #17" << std::endl;
807     return ExecutionPlan();
808   }
809   operators.emplace_back(op17, xnn_delete_operator);
810 
811   xnn_operator_t op18 = nullptr;
812   status = xnn_create_hardswish_nc_f32(
813     96 /* channels */,
814     96 /* input stride */,
815     96 /* output stride */,
816     0 /* flags */,
817     &op18);
818   if (status != xnn_status_success) {
819     std::cerr << "failed to create operation #18" << std::endl;
820     return ExecutionPlan();
821   }
822   operators.emplace_back(op18, xnn_delete_operator);
823 
824   xnn_operator_t op19 = nullptr;
825   status = xnn_create_global_average_pooling_nwc_f32(
826     96 /* channels */, 96 /* input stride */, 96 /* output stride */,
827     -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
828     0 /* flags */,
829     &op19);
830   if (status != xnn_status_success) {
831     std::cerr << "failed to create operation #19" << std::endl;
832     return ExecutionPlan();
833   }
834   operators.emplace_back(op19, xnn_delete_operator);
835 
836   xnn_operator_t op20 = nullptr;
837   status = xnn_create_convolution2d_nhwc_f32(
838     0 /* top padding */, 0 /* right padding */,
839     0 /* bottom padding */, 0 /* left padding */,
840     1 /* kernel height */, 1 /* kernel width */,
841     1 /* subsampling height */, 1 /* subsampling width */,
842     1 /* dilation_height */, 1 /* dilation_width */,
843     1 /* groups */,
844     96 /* input channels per group */,
845     24 /* output_channels_per_group */,
846     96 /* input pixel stride */,
847     24 /* output pixel stride */,
848     w126.data(), w127.data(),
849     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
850     0 /* flags */,
851     &caches,
852     &op20);
853   if (status != xnn_status_success) {
854     std::cerr << "failed to create operation #20" << std::endl;
855     return ExecutionPlan();
856   }
857   operators.emplace_back(op20, xnn_delete_operator);
858 
859   xnn_operator_t op21 = nullptr;
860   status = xnn_create_convolution2d_nhwc_f32(
861     0 /* top padding */, 0 /* right padding */,
862     0 /* bottom padding */, 0 /* left padding */,
863     1 /* kernel height */, 1 /* kernel width */,
864     1 /* subsampling height */, 1 /* subsampling width */,
865     1 /* dilation_height */, 1 /* dilation_width */,
866     1 /* groups */,
867     24 /* input channels per group */,
868     96 /* output_channels_per_group */,
869     24 /* input pixel stride */,
870     96 /* output pixel stride */,
871     w128.data(), w129.data(),
872     0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
873     0 /* flags */,
874     &caches,
875     &op21);
876   if (status != xnn_status_success) {
877     std::cerr << "failed to create operation #21" << std::endl;
878     return ExecutionPlan();
879   }
880   operators.emplace_back(op21, xnn_delete_operator);
881 
882   xnn_operator_t op22 = nullptr;
883   status = xnn_create_multiply_nd_f32(
884     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
885     0 /* flags */,
886     &op22);
887   if (status != xnn_status_success) {
888     std::cerr << "failed to create operation #22" << std::endl;
889     return ExecutionPlan();
890   }
891   operators.emplace_back(op22, xnn_delete_operator);
892 
893   xnn_operator_t op23 = nullptr;
894   status = xnn_create_convolution2d_nhwc_f32(
895     0 /* top padding */, 0 /* right padding */,
896     0 /* bottom padding */, 0 /* left padding */,
897     1 /* kernel height */, 1 /* kernel width */,
898     1 /* subsampling height */, 1 /* subsampling width */,
899     1 /* dilation_height */, 1 /* dilation_width */,
900     1 /* groups */,
901     96 /* input channels per group */,
902     40 /* output_channels_per_group */,
903     96 /* input pixel stride */,
904     40 /* output pixel stride */,
905     w130.data(), w131.data(),
906     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
907     0 /* flags */,
908     &caches,
909     &op23);
910   if (status != xnn_status_success) {
911     std::cerr << "failed to create operation #23" << std::endl;
912     return ExecutionPlan();
913   }
914   operators.emplace_back(op23, xnn_delete_operator);
915 
916   xnn_operator_t op24 = nullptr;
917   status = xnn_create_convolution2d_nhwc_f32(
918     0 /* top padding */, 0 /* right padding */,
919     0 /* bottom padding */, 0 /* left padding */,
920     1 /* kernel height */, 1 /* kernel width */,
921     1 /* subsampling height */, 1 /* subsampling width */,
922     1 /* dilation_height */, 1 /* dilation_width */,
923     1 /* groups */,
924     40 /* input channels per group */,
925     240 /* output_channels_per_group */,
926     40 /* input pixel stride */,
927     240 /* output pixel stride */,
928     w132.data(), w133.data(),
929     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
930     0 /* flags */,
931     &caches,
932     &op24);
933   if (status != xnn_status_success) {
934     std::cerr << "failed to create operation #24" << std::endl;
935     return ExecutionPlan();
936   }
937   operators.emplace_back(op24, xnn_delete_operator);
938 
939   xnn_operator_t op25 = nullptr;
940   status = xnn_create_hardswish_nc_f32(
941     240 /* channels */,
942     240 /* input stride */,
943     240 /* output stride */,
944     0 /* flags */,
945     &op25);
946   if (status != xnn_status_success) {
947     std::cerr << "failed to create operation #25" << std::endl;
948     return ExecutionPlan();
949   }
950   operators.emplace_back(op25, xnn_delete_operator);
951 
952   xnn_operator_t op26 = nullptr;
953   status = xnn_create_convolution2d_nhwc_f32(
954     2 /* top padding */, 2 /* right padding */,
955     2 /* bottom padding */, 2 /* left padding */,
956     5 /* kernel height */, 5 /* kernel width */,
957     1 /* subsampling height */, 1 /* subsampling width */,
958     1 /* dilation_height */, 1 /* dilation_width */,
959     240 /* groups */,
960     1 /* input channels per group */,
961     1 /* output_channels_per_group */,
962     240 /* input pixel stride */,
963     240 /* output pixel stride */,
964     w134.data(), w135.data(),
965     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
966     0 /* flags */,
967     &caches,
968     &op26);
969   if (status != xnn_status_success) {
970     std::cerr << "failed to create operation #26" << std::endl;
971     return ExecutionPlan();
972   }
973   operators.emplace_back(op26, xnn_delete_operator);
974 
975   xnn_operator_t op27 = nullptr;
976   status = xnn_create_hardswish_nc_f32(
977     240 /* channels */,
978     240 /* input stride */,
979     240 /* output stride */,
980     0 /* flags */,
981     &op27);
982   if (status != xnn_status_success) {
983     std::cerr << "failed to create operation #27" << std::endl;
984     return ExecutionPlan();
985   }
986   operators.emplace_back(op27, xnn_delete_operator);
987 
988   xnn_operator_t op28 = nullptr;
989   status = xnn_create_global_average_pooling_nwc_f32(
990     240 /* channels */, 240 /* input stride */, 240 /* output stride */,
991     -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
992     0 /* flags */,
993     &op28);
994   if (status != xnn_status_success) {
995     std::cerr << "failed to create operation #28" << std::endl;
996     return ExecutionPlan();
997   }
998   operators.emplace_back(op28, xnn_delete_operator);
999 
1000   xnn_operator_t op29 = nullptr;
1001   status = xnn_create_convolution2d_nhwc_f32(
1002     0 /* top padding */, 0 /* right padding */,
1003     0 /* bottom padding */, 0 /* left padding */,
1004     1 /* kernel height */, 1 /* kernel width */,
1005     1 /* subsampling height */, 1 /* subsampling width */,
1006     1 /* dilation_height */, 1 /* dilation_width */,
1007     1 /* groups */,
1008     240 /* input channels per group */,
1009     64 /* output_channels_per_group */,
1010     240 /* input pixel stride */,
1011     64 /* output pixel stride */,
1012     w136.data(), w137.data(),
1013     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1014     0 /* flags */,
1015     &caches,
1016     &op29);
1017   if (status != xnn_status_success) {
1018     std::cerr << "failed to create operation #29" << std::endl;
1019     return ExecutionPlan();
1020   }
1021   operators.emplace_back(op29, xnn_delete_operator);
1022 
1023   xnn_operator_t op30 = nullptr;
1024   status = xnn_create_convolution2d_nhwc_f32(
1025     0 /* top padding */, 0 /* right padding */,
1026     0 /* bottom padding */, 0 /* left padding */,
1027     1 /* kernel height */, 1 /* kernel width */,
1028     1 /* subsampling height */, 1 /* subsampling width */,
1029     1 /* dilation_height */, 1 /* dilation_width */,
1030     1 /* groups */,
1031     64 /* input channels per group */,
1032     240 /* output_channels_per_group */,
1033     64 /* input pixel stride */,
1034     240 /* output pixel stride */,
1035     w138.data(), w139.data(),
1036     0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1037     0 /* flags */,
1038     &caches,
1039     &op30);
1040   if (status != xnn_status_success) {
1041     std::cerr << "failed to create operation #30" << std::endl;
1042     return ExecutionPlan();
1043   }
1044   operators.emplace_back(op30, xnn_delete_operator);
1045 
1046   xnn_operator_t op31 = nullptr;
1047   status = xnn_create_multiply_nd_f32(
1048     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1049     0 /* flags */,
1050     &op31);
1051   if (status != xnn_status_success) {
1052     std::cerr << "failed to create operation #31" << std::endl;
1053     return ExecutionPlan();
1054   }
1055   operators.emplace_back(op31, xnn_delete_operator);
1056 
1057   xnn_operator_t op32 = nullptr;
1058   status = xnn_create_convolution2d_nhwc_f32(
1059     0 /* top padding */, 0 /* right padding */,
1060     0 /* bottom padding */, 0 /* left padding */,
1061     1 /* kernel height */, 1 /* kernel width */,
1062     1 /* subsampling height */, 1 /* subsampling width */,
1063     1 /* dilation_height */, 1 /* dilation_width */,
1064     1 /* groups */,
1065     240 /* input channels per group */,
1066     40 /* output_channels_per_group */,
1067     240 /* input pixel stride */,
1068     40 /* output pixel stride */,
1069     w140.data(), w141.data(),
1070     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1071     0 /* flags */,
1072     &caches,
1073     &op32);
1074   if (status != xnn_status_success) {
1075     std::cerr << "failed to create operation #32" << std::endl;
1076     return ExecutionPlan();
1077   }
1078   operators.emplace_back(op32, xnn_delete_operator);
1079 
1080   xnn_operator_t op33 = nullptr;
1081   status = xnn_create_add_nd_f32(
1082     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1083     0 /* flags */,
1084     &op33);
1085   if (status != xnn_status_success) {
1086     std::cerr << "failed to create operation #33" << std::endl;
1087     return ExecutionPlan();
1088   }
1089   operators.emplace_back(op33, xnn_delete_operator);
1090 
1091   xnn_operator_t op34 = nullptr;
1092   status = xnn_create_convolution2d_nhwc_f32(
1093     0 /* top padding */, 0 /* right padding */,
1094     0 /* bottom padding */, 0 /* left padding */,
1095     1 /* kernel height */, 1 /* kernel width */,
1096     1 /* subsampling height */, 1 /* subsampling width */,
1097     1 /* dilation_height */, 1 /* dilation_width */,
1098     1 /* groups */,
1099     40 /* input channels per group */,
1100     240 /* output_channels_per_group */,
1101     40 /* input pixel stride */,
1102     240 /* output pixel stride */,
1103     w142.data(), w143.data(),
1104     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1105     0 /* flags */,
1106     &caches,
1107     &op34);
1108   if (status != xnn_status_success) {
1109     std::cerr << "failed to create operation #34" << std::endl;
1110     return ExecutionPlan();
1111   }
1112   operators.emplace_back(op34, xnn_delete_operator);
1113 
1114   xnn_operator_t op35 = nullptr;
1115   status = xnn_create_hardswish_nc_f32(
1116     240 /* channels */,
1117     240 /* input stride */,
1118     240 /* output stride */,
1119     0 /* flags */,
1120     &op35);
1121   if (status != xnn_status_success) {
1122     std::cerr << "failed to create operation #35" << std::endl;
1123     return ExecutionPlan();
1124   }
1125   operators.emplace_back(op35, xnn_delete_operator);
1126 
1127   xnn_operator_t op36 = nullptr;
1128   status = xnn_create_convolution2d_nhwc_f32(
1129     2 /* top padding */, 2 /* right padding */,
1130     2 /* bottom padding */, 2 /* left padding */,
1131     5 /* kernel height */, 5 /* kernel width */,
1132     1 /* subsampling height */, 1 /* subsampling width */,
1133     1 /* dilation_height */, 1 /* dilation_width */,
1134     240 /* groups */,
1135     1 /* input channels per group */,
1136     1 /* output_channels_per_group */,
1137     240 /* input pixel stride */,
1138     240 /* output pixel stride */,
1139     w144.data(), w145.data(),
1140     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1141     0 /* flags */,
1142     &caches,
1143     &op36);
1144   if (status != xnn_status_success) {
1145     std::cerr << "failed to create operation #36" << std::endl;
1146     return ExecutionPlan();
1147   }
1148   operators.emplace_back(op36, xnn_delete_operator);
1149 
1150   xnn_operator_t op37 = nullptr;
1151   status = xnn_create_hardswish_nc_f32(
1152     240 /* channels */,
1153     240 /* input stride */,
1154     240 /* output stride */,
1155     0 /* flags */,
1156     &op37);
1157   if (status != xnn_status_success) {
1158     std::cerr << "failed to create operation #37" << std::endl;
1159     return ExecutionPlan();
1160   }
1161   operators.emplace_back(op37, xnn_delete_operator);
1162 
1163   xnn_operator_t op38 = nullptr;
1164   status = xnn_create_global_average_pooling_nwc_f32(
1165     240 /* channels */, 240 /* input stride */, 240 /* output stride */,
1166     -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1167     0 /* flags */,
1168     &op38);
1169   if (status != xnn_status_success) {
1170     std::cerr << "failed to create operation #38" << std::endl;
1171     return ExecutionPlan();
1172   }
1173   operators.emplace_back(op38, xnn_delete_operator);
1174 
1175   xnn_operator_t op39 = nullptr;
1176   status = xnn_create_convolution2d_nhwc_f32(
1177     0 /* top padding */, 0 /* right padding */,
1178     0 /* bottom padding */, 0 /* left padding */,
1179     1 /* kernel height */, 1 /* kernel width */,
1180     1 /* subsampling height */, 1 /* subsampling width */,
1181     1 /* dilation_height */, 1 /* dilation_width */,
1182     1 /* groups */,
1183     240 /* input channels per group */,
1184     64 /* output_channels_per_group */,
1185     240 /* input pixel stride */,
1186     64 /* output pixel stride */,
1187     w146.data(), w147.data(),
1188     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1189     0 /* flags */,
1190     &caches,
1191     &op39);
1192   if (status != xnn_status_success) {
1193     std::cerr << "failed to create operation #39" << std::endl;
1194     return ExecutionPlan();
1195   }
1196   operators.emplace_back(op39, xnn_delete_operator);
1197 
1198   xnn_operator_t op40 = nullptr;
1199   status = xnn_create_convolution2d_nhwc_f32(
1200     0 /* top padding */, 0 /* right padding */,
1201     0 /* bottom padding */, 0 /* left padding */,
1202     1 /* kernel height */, 1 /* kernel width */,
1203     1 /* subsampling height */, 1 /* subsampling width */,
1204     1 /* dilation_height */, 1 /* dilation_width */,
1205     1 /* groups */,
1206     64 /* input channels per group */,
1207     240 /* output_channels_per_group */,
1208     64 /* input pixel stride */,
1209     240 /* output pixel stride */,
1210     w148.data(), w149.data(),
1211     0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1212     0 /* flags */,
1213     &caches,
1214     &op40);
1215   if (status != xnn_status_success) {
1216     std::cerr << "failed to create operation #40" << std::endl;
1217     return ExecutionPlan();
1218   }
1219   operators.emplace_back(op40, xnn_delete_operator);
1220 
1221   xnn_operator_t op41 = nullptr;
1222   status = xnn_create_multiply_nd_f32(
1223     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1224     0 /* flags */,
1225     &op41);
1226   if (status != xnn_status_success) {
1227     std::cerr << "failed to create operation #41" << std::endl;
1228     return ExecutionPlan();
1229   }
1230   operators.emplace_back(op41, xnn_delete_operator);
1231 
1232   xnn_operator_t op42 = nullptr;
1233   status = xnn_create_convolution2d_nhwc_f32(
1234     0 /* top padding */, 0 /* right padding */,
1235     0 /* bottom padding */, 0 /* left padding */,
1236     1 /* kernel height */, 1 /* kernel width */,
1237     1 /* subsampling height */, 1 /* subsampling width */,
1238     1 /* dilation_height */, 1 /* dilation_width */,
1239     1 /* groups */,
1240     240 /* input channels per group */,
1241     40 /* output_channels_per_group */,
1242     240 /* input pixel stride */,
1243     40 /* output pixel stride */,
1244     w150.data(), w151.data(),
1245     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1246     0 /* flags */,
1247     &caches,
1248     &op42);
1249   if (status != xnn_status_success) {
1250     std::cerr << "failed to create operation #42" << std::endl;
1251     return ExecutionPlan();
1252   }
1253   operators.emplace_back(op42, xnn_delete_operator);
1254 
1255   xnn_operator_t op43 = nullptr;
1256   status = xnn_create_add_nd_f32(
1257     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1258     0 /* flags */,
1259     &op43);
1260   if (status != xnn_status_success) {
1261     std::cerr << "failed to create operation #43" << std::endl;
1262     return ExecutionPlan();
1263   }
1264   operators.emplace_back(op43, xnn_delete_operator);
1265 
1266   xnn_operator_t op44 = nullptr;
1267   status = xnn_create_convolution2d_nhwc_f32(
1268     0 /* top padding */, 0 /* right padding */,
1269     0 /* bottom padding */, 0 /* left padding */,
1270     1 /* kernel height */, 1 /* kernel width */,
1271     1 /* subsampling height */, 1 /* subsampling width */,
1272     1 /* dilation_height */, 1 /* dilation_width */,
1273     1 /* groups */,
1274     40 /* input channels per group */,
1275     120 /* output_channels_per_group */,
1276     40 /* input pixel stride */,
1277     120 /* output pixel stride */,
1278     w152.data(), w153.data(),
1279     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1280     0 /* flags */,
1281     &caches,
1282     &op44);
1283   if (status != xnn_status_success) {
1284     std::cerr << "failed to create operation #44" << std::endl;
1285     return ExecutionPlan();
1286   }
1287   operators.emplace_back(op44, xnn_delete_operator);
1288 
1289   xnn_operator_t op45 = nullptr;
1290   status = xnn_create_hardswish_nc_f32(
1291     120 /* channels */,
1292     120 /* input stride */,
1293     120 /* output stride */,
1294     0 /* flags */,
1295     &op45);
1296   if (status != xnn_status_success) {
1297     std::cerr << "failed to create operation #45" << std::endl;
1298     return ExecutionPlan();
1299   }
1300   operators.emplace_back(op45, xnn_delete_operator);
1301 
1302   xnn_operator_t op46 = nullptr;
1303   status = xnn_create_convolution2d_nhwc_f32(
1304     2 /* top padding */, 2 /* right padding */,
1305     2 /* bottom padding */, 2 /* left padding */,
1306     5 /* kernel height */, 5 /* kernel width */,
1307     1 /* subsampling height */, 1 /* subsampling width */,
1308     1 /* dilation_height */, 1 /* dilation_width */,
1309     120 /* groups */,
1310     1 /* input channels per group */,
1311     1 /* output_channels_per_group */,
1312     120 /* input pixel stride */,
1313     120 /* output pixel stride */,
1314     w154.data(), w155.data(),
1315     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1316     0 /* flags */,
1317     &caches,
1318     &op46);
1319   if (status != xnn_status_success) {
1320     std::cerr << "failed to create operation #46" << std::endl;
1321     return ExecutionPlan();
1322   }
1323   operators.emplace_back(op46, xnn_delete_operator);
1324 
1325   xnn_operator_t op47 = nullptr;
1326   status = xnn_create_hardswish_nc_f32(
1327     120 /* channels */,
1328     120 /* input stride */,
1329     120 /* output stride */,
1330     0 /* flags */,
1331     &op47);
1332   if (status != xnn_status_success) {
1333     std::cerr << "failed to create operation #47" << std::endl;
1334     return ExecutionPlan();
1335   }
1336   operators.emplace_back(op47, xnn_delete_operator);
1337 
1338   xnn_operator_t op48 = nullptr;
1339   status = xnn_create_global_average_pooling_nwc_f32(
1340     120 /* channels */, 120 /* input stride */, 120 /* output stride */,
1341     -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1342     0 /* flags */,
1343     &op48);
1344   if (status != xnn_status_success) {
1345     std::cerr << "failed to create operation #48" << std::endl;
1346     return ExecutionPlan();
1347   }
1348   operators.emplace_back(op48, xnn_delete_operator);
1349 
1350   xnn_operator_t op49 = nullptr;
1351   status = xnn_create_convolution2d_nhwc_f32(
1352     0 /* top padding */, 0 /* right padding */,
1353     0 /* bottom padding */, 0 /* left padding */,
1354     1 /* kernel height */, 1 /* kernel width */,
1355     1 /* subsampling height */, 1 /* subsampling width */,
1356     1 /* dilation_height */, 1 /* dilation_width */,
1357     1 /* groups */,
1358     120 /* input channels per group */,
1359     32 /* output_channels_per_group */,
1360     120 /* input pixel stride */,
1361     32 /* output pixel stride */,
1362     w156.data(), w157.data(),
1363     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1364     0 /* flags */,
1365     &caches,
1366     &op49);
1367   if (status != xnn_status_success) {
1368     std::cerr << "failed to create operation #49" << std::endl;
1369     return ExecutionPlan();
1370   }
1371   operators.emplace_back(op49, xnn_delete_operator);
1372 
1373   xnn_operator_t op50 = nullptr;
1374   status = xnn_create_convolution2d_nhwc_f32(
1375     0 /* top padding */, 0 /* right padding */,
1376     0 /* bottom padding */, 0 /* left padding */,
1377     1 /* kernel height */, 1 /* kernel width */,
1378     1 /* subsampling height */, 1 /* subsampling width */,
1379     1 /* dilation_height */, 1 /* dilation_width */,
1380     1 /* groups */,
1381     32 /* input channels per group */,
1382     120 /* output_channels_per_group */,
1383     32 /* input pixel stride */,
1384     120 /* output pixel stride */,
1385     w158.data(), w159.data(),
1386     0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1387     0 /* flags */,
1388     &caches,
1389     &op50);
1390   if (status != xnn_status_success) {
1391     std::cerr << "failed to create operation #50" << std::endl;
1392     return ExecutionPlan();
1393   }
1394   operators.emplace_back(op50, xnn_delete_operator);
1395 
1396   xnn_operator_t op51 = nullptr;
1397   status = xnn_create_multiply_nd_f32(
1398     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1399     0 /* flags */,
1400     &op51);
1401   if (status != xnn_status_success) {
1402     std::cerr << "failed to create operation #51" << std::endl;
1403     return ExecutionPlan();
1404   }
1405   operators.emplace_back(op51, xnn_delete_operator);
1406 
1407   xnn_operator_t op52 = nullptr;
1408   status = xnn_create_convolution2d_nhwc_f32(
1409     0 /* top padding */, 0 /* right padding */,
1410     0 /* bottom padding */, 0 /* left padding */,
1411     1 /* kernel height */, 1 /* kernel width */,
1412     1 /* subsampling height */, 1 /* subsampling width */,
1413     1 /* dilation_height */, 1 /* dilation_width */,
1414     1 /* groups */,
1415     120 /* input channels per group */,
1416     48 /* output_channels_per_group */,
1417     120 /* input pixel stride */,
1418     48 /* output pixel stride */,
1419     w160.data(), w161.data(),
1420     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1421     0 /* flags */,
1422     &caches,
1423     &op52);
1424   if (status != xnn_status_success) {
1425     std::cerr << "failed to create operation #52" << std::endl;
1426     return ExecutionPlan();
1427   }
1428   operators.emplace_back(op52, xnn_delete_operator);
1429 
1430   xnn_operator_t op53 = nullptr;
1431   status = xnn_create_convolution2d_nhwc_f32(
1432     0 /* top padding */, 0 /* right padding */,
1433     0 /* bottom padding */, 0 /* left padding */,
1434     1 /* kernel height */, 1 /* kernel width */,
1435     1 /* subsampling height */, 1 /* subsampling width */,
1436     1 /* dilation_height */, 1 /* dilation_width */,
1437     1 /* groups */,
1438     48 /* input channels per group */,
1439     144 /* output_channels_per_group */,
1440     48 /* input pixel stride */,
1441     144 /* output pixel stride */,
1442     w162.data(), w163.data(),
1443     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1444     0 /* flags */,
1445     &caches,
1446     &op53);
1447   if (status != xnn_status_success) {
1448     std::cerr << "failed to create operation #53" << std::endl;
1449     return ExecutionPlan();
1450   }
1451   operators.emplace_back(op53, xnn_delete_operator);
1452 
1453   xnn_operator_t op54 = nullptr;
1454   status = xnn_create_hardswish_nc_f32(
1455     144 /* channels */,
1456     144 /* input stride */,
1457     144 /* output stride */,
1458     0 /* flags */,
1459     &op54);
1460   if (status != xnn_status_success) {
1461     std::cerr << "failed to create operation #54" << std::endl;
1462     return ExecutionPlan();
1463   }
1464   operators.emplace_back(op54, xnn_delete_operator);
1465 
1466   xnn_operator_t op55 = nullptr;
1467   status = xnn_create_convolution2d_nhwc_f32(
1468     2 /* top padding */, 2 /* right padding */,
1469     2 /* bottom padding */, 2 /* left padding */,
1470     5 /* kernel height */, 5 /* kernel width */,
1471     1 /* subsampling height */, 1 /* subsampling width */,
1472     1 /* dilation_height */, 1 /* dilation_width */,
1473     144 /* groups */,
1474     1 /* input channels per group */,
1475     1 /* output_channels_per_group */,
1476     144 /* input pixel stride */,
1477     144 /* output pixel stride */,
1478     w164.data(), w165.data(),
1479     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1480     0 /* flags */,
1481     &caches,
1482     &op55);
1483   if (status != xnn_status_success) {
1484     std::cerr << "failed to create operation #55" << std::endl;
1485     return ExecutionPlan();
1486   }
1487   operators.emplace_back(op55, xnn_delete_operator);
1488 
1489   xnn_operator_t op56 = nullptr;
1490   status = xnn_create_hardswish_nc_f32(
1491     144 /* channels */,
1492     144 /* input stride */,
1493     144 /* output stride */,
1494     0 /* flags */,
1495     &op56);
1496   if (status != xnn_status_success) {
1497     std::cerr << "failed to create operation #56" << std::endl;
1498     return ExecutionPlan();
1499   }
1500   operators.emplace_back(op56, xnn_delete_operator);
1501 
1502   xnn_operator_t op57 = nullptr;
1503   status = xnn_create_global_average_pooling_nwc_f32(
1504     144 /* channels */, 144 /* input stride */, 144 /* output stride */,
1505     -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1506     0 /* flags */,
1507     &op57);
1508   if (status != xnn_status_success) {
1509     std::cerr << "failed to create operation #57" << std::endl;
1510     return ExecutionPlan();
1511   }
1512   operators.emplace_back(op57, xnn_delete_operator);
1513 
1514   xnn_operator_t op58 = nullptr;
1515   status = xnn_create_convolution2d_nhwc_f32(
1516     0 /* top padding */, 0 /* right padding */,
1517     0 /* bottom padding */, 0 /* left padding */,
1518     1 /* kernel height */, 1 /* kernel width */,
1519     1 /* subsampling height */, 1 /* subsampling width */,
1520     1 /* dilation_height */, 1 /* dilation_width */,
1521     1 /* groups */,
1522     144 /* input channels per group */,
1523     40 /* output_channels_per_group */,
1524     144 /* input pixel stride */,
1525     40 /* output pixel stride */,
1526     w166.data(), w167.data(),
1527     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1528     0 /* flags */,
1529     &caches,
1530     &op58);
1531   if (status != xnn_status_success) {
1532     std::cerr << "failed to create operation #58" << std::endl;
1533     return ExecutionPlan();
1534   }
1535   operators.emplace_back(op58, xnn_delete_operator);
1536 
1537   xnn_operator_t op59 = nullptr;
1538   status = xnn_create_convolution2d_nhwc_f32(
1539     0 /* top padding */, 0 /* right padding */,
1540     0 /* bottom padding */, 0 /* left padding */,
1541     1 /* kernel height */, 1 /* kernel width */,
1542     1 /* subsampling height */, 1 /* subsampling width */,
1543     1 /* dilation_height */, 1 /* dilation_width */,
1544     1 /* groups */,
1545     40 /* input channels per group */,
1546     144 /* output_channels_per_group */,
1547     40 /* input pixel stride */,
1548     144 /* output pixel stride */,
1549     w168.data(), w169.data(),
1550     0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1551     0 /* flags */,
1552     &caches,
1553     &op59);
1554   if (status != xnn_status_success) {
1555     std::cerr << "failed to create operation #59" << std::endl;
1556     return ExecutionPlan();
1557   }
1558   operators.emplace_back(op59, xnn_delete_operator);
1559 
1560   xnn_operator_t op60 = nullptr;
1561   status = xnn_create_multiply_nd_f32(
1562     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1563     0 /* flags */,
1564     &op60);
1565   if (status != xnn_status_success) {
1566     std::cerr << "failed to create operation #60" << std::endl;
1567     return ExecutionPlan();
1568   }
1569   operators.emplace_back(op60, xnn_delete_operator);
1570 
1571   xnn_operator_t op61 = nullptr;
1572   status = xnn_create_convolution2d_nhwc_f32(
1573     0 /* top padding */, 0 /* right padding */,
1574     0 /* bottom padding */, 0 /* left padding */,
1575     1 /* kernel height */, 1 /* kernel width */,
1576     1 /* subsampling height */, 1 /* subsampling width */,
1577     1 /* dilation_height */, 1 /* dilation_width */,
1578     1 /* groups */,
1579     144 /* input channels per group */,
1580     48 /* output_channels_per_group */,
1581     144 /* input pixel stride */,
1582     48 /* output pixel stride */,
1583     w170.data(), w171.data(),
1584     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1585     0 /* flags */,
1586     &caches,
1587     &op61);
1588   if (status != xnn_status_success) {
1589     std::cerr << "failed to create operation #61" << std::endl;
1590     return ExecutionPlan();
1591   }
1592   operators.emplace_back(op61, xnn_delete_operator);
1593 
1594   xnn_operator_t op62 = nullptr;
1595   status = xnn_create_add_nd_f32(
1596     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1597     0 /* flags */,
1598     &op62);
1599   if (status != xnn_status_success) {
1600     std::cerr << "failed to create operation #62" << std::endl;
1601     return ExecutionPlan();
1602   }
1603   operators.emplace_back(op62, xnn_delete_operator);
1604 
1605   xnn_operator_t op63 = nullptr;
1606   status = xnn_create_convolution2d_nhwc_f32(
1607     0 /* top padding */, 0 /* right padding */,
1608     0 /* bottom padding */, 0 /* left padding */,
1609     1 /* kernel height */, 1 /* kernel width */,
1610     1 /* subsampling height */, 1 /* subsampling width */,
1611     1 /* dilation_height */, 1 /* dilation_width */,
1612     1 /* groups */,
1613     48 /* input channels per group */,
1614     288 /* output_channels_per_group */,
1615     48 /* input pixel stride */,
1616     288 /* output pixel stride */,
1617     w172.data(), w173.data(),
1618     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1619     0 /* flags */,
1620     &caches,
1621     &op63);
1622   if (status != xnn_status_success) {
1623     std::cerr << "failed to create operation #63" << std::endl;
1624     return ExecutionPlan();
1625   }
1626   operators.emplace_back(op63, xnn_delete_operator);
1627 
1628   xnn_operator_t op64 = nullptr;
1629   status = xnn_create_hardswish_nc_f32(
1630     288 /* channels */,
1631     288 /* input stride */,
1632     288 /* output stride */,
1633     0 /* flags */,
1634     &op64);
1635   if (status != xnn_status_success) {
1636     std::cerr << "failed to create operation #64" << std::endl;
1637     return ExecutionPlan();
1638   }
1639   operators.emplace_back(op64, xnn_delete_operator);
1640 
1641   xnn_operator_t op65 = nullptr;
1642   status = xnn_create_convolution2d_nhwc_f32(
1643     1 /* top padding */, 2 /* right padding */,
1644     2 /* bottom padding */, 1 /* left padding */,
1645     5 /* kernel height */, 5 /* kernel width */,
1646     2 /* subsampling height */, 2 /* subsampling width */,
1647     1 /* dilation_height */, 1 /* dilation_width */,
1648     288 /* groups */,
1649     1 /* input channels per group */,
1650     1 /* output_channels_per_group */,
1651     288 /* input pixel stride */,
1652     288 /* output pixel stride */,
1653     w174.data(), w175.data(),
1654     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1655     0 /* flags */,
1656     &caches,
1657     &op65);
1658   if (status != xnn_status_success) {
1659     std::cerr << "failed to create operation #65" << std::endl;
1660     return ExecutionPlan();
1661   }
1662   operators.emplace_back(op65, xnn_delete_operator);
1663 
1664   xnn_operator_t op66 = nullptr;
1665   status = xnn_create_hardswish_nc_f32(
1666     288 /* channels */,
1667     288 /* input stride */,
1668     288 /* output stride */,
1669     0 /* flags */,
1670     &op66);
1671   if (status != xnn_status_success) {
1672     std::cerr << "failed to create operation #66" << std::endl;
1673     return ExecutionPlan();
1674   }
1675   operators.emplace_back(op66, xnn_delete_operator);
1676 
1677   xnn_operator_t op67 = nullptr;
1678   status = xnn_create_global_average_pooling_nwc_f32(
1679     288 /* channels */, 288 /* input stride */, 288 /* output stride */,
1680     -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1681     0 /* flags */,
1682     &op67);
1683   if (status != xnn_status_success) {
1684     std::cerr << "failed to create operation #67" << std::endl;
1685     return ExecutionPlan();
1686   }
1687   operators.emplace_back(op67, xnn_delete_operator);
1688 
1689   xnn_operator_t op68 = nullptr;
1690   status = xnn_create_convolution2d_nhwc_f32(
1691     0 /* top padding */, 0 /* right padding */,
1692     0 /* bottom padding */, 0 /* left padding */,
1693     1 /* kernel height */, 1 /* kernel width */,
1694     1 /* subsampling height */, 1 /* subsampling width */,
1695     1 /* dilation_height */, 1 /* dilation_width */,
1696     1 /* groups */,
1697     288 /* input channels per group */,
1698     72 /* output_channels_per_group */,
1699     288 /* input pixel stride */,
1700     72 /* output pixel stride */,
1701     w176.data(), w177.data(),
1702     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1703     0 /* flags */,
1704     &caches,
1705     &op68);
1706   if (status != xnn_status_success) {
1707     std::cerr << "failed to create operation #68" << std::endl;
1708     return ExecutionPlan();
1709   }
1710   operators.emplace_back(op68, xnn_delete_operator);
1711 
1712   xnn_operator_t op69 = nullptr;
1713   status = xnn_create_convolution2d_nhwc_f32(
1714     0 /* top padding */, 0 /* right padding */,
1715     0 /* bottom padding */, 0 /* left padding */,
1716     1 /* kernel height */, 1 /* kernel width */,
1717     1 /* subsampling height */, 1 /* subsampling width */,
1718     1 /* dilation_height */, 1 /* dilation_width */,
1719     1 /* groups */,
1720     72 /* input channels per group */,
1721     288 /* output_channels_per_group */,
1722     72 /* input pixel stride */,
1723     288 /* output pixel stride */,
1724     w178.data(), w179.data(),
1725     0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1726     0 /* flags */,
1727     &caches,
1728     &op69);
1729   if (status != xnn_status_success) {
1730     std::cerr << "failed to create operation #69" << std::endl;
1731     return ExecutionPlan();
1732   }
1733   operators.emplace_back(op69, xnn_delete_operator);
1734 
1735   xnn_operator_t op70 = nullptr;
1736   status = xnn_create_multiply_nd_f32(
1737     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1738     0 /* flags */,
1739     &op70);
1740   if (status != xnn_status_success) {
1741     std::cerr << "failed to create operation #70" << std::endl;
1742     return ExecutionPlan();
1743   }
1744   operators.emplace_back(op70, xnn_delete_operator);
1745 
1746   xnn_operator_t op71 = nullptr;
1747   status = xnn_create_convolution2d_nhwc_f32(
1748     0 /* top padding */, 0 /* right padding */,
1749     0 /* bottom padding */, 0 /* left padding */,
1750     1 /* kernel height */, 1 /* kernel width */,
1751     1 /* subsampling height */, 1 /* subsampling width */,
1752     1 /* dilation_height */, 1 /* dilation_width */,
1753     1 /* groups */,
1754     288 /* input channels per group */,
1755     96 /* output_channels_per_group */,
1756     288 /* input pixel stride */,
1757     96 /* output pixel stride */,
1758     w180.data(), w181.data(),
1759     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1760     0 /* flags */,
1761     &caches,
1762     &op71);
1763   if (status != xnn_status_success) {
1764     std::cerr << "failed to create operation #71" << std::endl;
1765     return ExecutionPlan();
1766   }
1767   operators.emplace_back(op71, xnn_delete_operator);
1768 
1769   xnn_operator_t op72 = nullptr;
1770   status = xnn_create_convolution2d_nhwc_f32(
1771     0 /* top padding */, 0 /* right padding */,
1772     0 /* bottom padding */, 0 /* left padding */,
1773     1 /* kernel height */, 1 /* kernel width */,
1774     1 /* subsampling height */, 1 /* subsampling width */,
1775     1 /* dilation_height */, 1 /* dilation_width */,
1776     1 /* groups */,
1777     96 /* input channels per group */,
1778     576 /* output_channels_per_group */,
1779     96 /* input pixel stride */,
1780     576 /* output pixel stride */,
1781     w182.data(), w183.data(),
1782     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1783     0 /* flags */,
1784     &caches,
1785     &op72);
1786   if (status != xnn_status_success) {
1787     std::cerr << "failed to create operation #72" << std::endl;
1788     return ExecutionPlan();
1789   }
1790   operators.emplace_back(op72, xnn_delete_operator);
1791 
1792   xnn_operator_t op73 = nullptr;
1793   status = xnn_create_hardswish_nc_f32(
1794     576 /* channels */,
1795     576 /* input stride */,
1796     576 /* output stride */,
1797     0 /* flags */,
1798     &op73);
1799   if (status != xnn_status_success) {
1800     std::cerr << "failed to create operation #73" << std::endl;
1801     return ExecutionPlan();
1802   }
1803   operators.emplace_back(op73, xnn_delete_operator);
1804 
1805   xnn_operator_t op74 = nullptr;
1806   status = xnn_create_convolution2d_nhwc_f32(
1807     2 /* top padding */, 2 /* right padding */,
1808     2 /* bottom padding */, 2 /* left padding */,
1809     5 /* kernel height */, 5 /* kernel width */,
1810     1 /* subsampling height */, 1 /* subsampling width */,
1811     1 /* dilation_height */, 1 /* dilation_width */,
1812     576 /* groups */,
1813     1 /* input channels per group */,
1814     1 /* output_channels_per_group */,
1815     576 /* input pixel stride */,
1816     576 /* output pixel stride */,
1817     w184.data(), w185.data(),
1818     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1819     0 /* flags */,
1820     &caches,
1821     &op74);
1822   if (status != xnn_status_success) {
1823     std::cerr << "failed to create operation #74" << std::endl;
1824     return ExecutionPlan();
1825   }
1826   operators.emplace_back(op74, xnn_delete_operator);
1827 
1828   xnn_operator_t op75 = nullptr;
1829   status = xnn_create_hardswish_nc_f32(
1830     576 /* channels */,
1831     576 /* input stride */,
1832     576 /* output stride */,
1833     0 /* flags */,
1834     &op75);
1835   if (status != xnn_status_success) {
1836     std::cerr << "failed to create operation #75" << std::endl;
1837     return ExecutionPlan();
1838   }
1839   operators.emplace_back(op75, xnn_delete_operator);
1840 
1841   xnn_operator_t op76 = nullptr;
1842   status = xnn_create_global_average_pooling_nwc_f32(
1843     576 /* channels */, 576 /* input stride */, 576 /* output stride */,
1844     -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
1845     0 /* flags */,
1846     &op76);
1847   if (status != xnn_status_success) {
1848     std::cerr << "failed to create operation #76" << std::endl;
1849     return ExecutionPlan();
1850   }
1851   operators.emplace_back(op76, xnn_delete_operator);
1852 
1853   xnn_operator_t op77 = nullptr;
1854   status = xnn_create_convolution2d_nhwc_f32(
1855     0 /* top padding */, 0 /* right padding */,
1856     0 /* bottom padding */, 0 /* left padding */,
1857     1 /* kernel height */, 1 /* kernel width */,
1858     1 /* subsampling height */, 1 /* subsampling width */,
1859     1 /* dilation_height */, 1 /* dilation_width */,
1860     1 /* groups */,
1861     576 /* input channels per group */,
1862     144 /* output_channels_per_group */,
1863     576 /* input pixel stride */,
1864     144 /* output pixel stride */,
1865     w186.data(), w187.data(),
1866     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1867     0 /* flags */,
1868     &caches,
1869     &op77);
1870   if (status != xnn_status_success) {
1871     std::cerr << "failed to create operation #77" << std::endl;
1872     return ExecutionPlan();
1873   }
1874   operators.emplace_back(op77, xnn_delete_operator);
1875 
1876   xnn_operator_t op78 = nullptr;
1877   status = xnn_create_convolution2d_nhwc_f32(
1878     0 /* top padding */, 0 /* right padding */,
1879     0 /* bottom padding */, 0 /* left padding */,
1880     1 /* kernel height */, 1 /* kernel width */,
1881     1 /* subsampling height */, 1 /* subsampling width */,
1882     1 /* dilation_height */, 1 /* dilation_width */,
1883     1 /* groups */,
1884     144 /* input channels per group */,
1885     576 /* output_channels_per_group */,
1886     144 /* input pixel stride */,
1887     576 /* output pixel stride */,
1888     w188.data(), w189.data(),
1889     0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
1890     0 /* flags */,
1891     &caches,
1892     &op78);
1893   if (status != xnn_status_success) {
1894     std::cerr << "failed to create operation #78" << std::endl;
1895     return ExecutionPlan();
1896   }
1897   operators.emplace_back(op78, xnn_delete_operator);
1898 
1899   xnn_operator_t op79 = nullptr;
1900   status = xnn_create_multiply_nd_f32(
1901     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1902     0 /* flags */,
1903     &op79);
1904   if (status != xnn_status_success) {
1905     std::cerr << "failed to create operation #79" << std::endl;
1906     return ExecutionPlan();
1907   }
1908   operators.emplace_back(op79, xnn_delete_operator);
1909 
1910   xnn_operator_t op80 = nullptr;
1911   status = xnn_create_convolution2d_nhwc_f32(
1912     0 /* top padding */, 0 /* right padding */,
1913     0 /* bottom padding */, 0 /* left padding */,
1914     1 /* kernel height */, 1 /* kernel width */,
1915     1 /* subsampling height */, 1 /* subsampling width */,
1916     1 /* dilation_height */, 1 /* dilation_width */,
1917     1 /* groups */,
1918     576 /* input channels per group */,
1919     96 /* output_channels_per_group */,
1920     576 /* input pixel stride */,
1921     96 /* output pixel stride */,
1922     w190.data(), w191.data(),
1923     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1924     0 /* flags */,
1925     &caches,
1926     &op80);
1927   if (status != xnn_status_success) {
1928     std::cerr << "failed to create operation #80" << std::endl;
1929     return ExecutionPlan();
1930   }
1931   operators.emplace_back(op80, xnn_delete_operator);
1932 
1933   xnn_operator_t op81 = nullptr;
1934   status = xnn_create_add_nd_f32(
1935     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1936     0 /* flags */,
1937     &op81);
1938   if (status != xnn_status_success) {
1939     std::cerr << "failed to create operation #81" << std::endl;
1940     return ExecutionPlan();
1941   }
1942   operators.emplace_back(op81, xnn_delete_operator);
1943 
1944   xnn_operator_t op82 = nullptr;
1945   status = xnn_create_convolution2d_nhwc_f32(
1946     0 /* top padding */, 0 /* right padding */,
1947     0 /* bottom padding */, 0 /* left padding */,
1948     1 /* kernel height */, 1 /* kernel width */,
1949     1 /* subsampling height */, 1 /* subsampling width */,
1950     1 /* dilation_height */, 1 /* dilation_width */,
1951     1 /* groups */,
1952     96 /* input channels per group */,
1953     576 /* output_channels_per_group */,
1954     96 /* input pixel stride */,
1955     576 /* output pixel stride */,
1956     w192.data(), w193.data(),
1957     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1958     0 /* flags */,
1959     &caches,
1960     &op82);
1961   if (status != xnn_status_success) {
1962     std::cerr << "failed to create operation #82" << std::endl;
1963     return ExecutionPlan();
1964   }
1965   operators.emplace_back(op82, xnn_delete_operator);
1966 
1967   xnn_operator_t op83 = nullptr;
1968   status = xnn_create_hardswish_nc_f32(
1969     576 /* channels */,
1970     576 /* input stride */,
1971     576 /* output stride */,
1972     0 /* flags */,
1973     &op83);
1974   if (status != xnn_status_success) {
1975     std::cerr << "failed to create operation #83" << std::endl;
1976     return ExecutionPlan();
1977   }
1978   operators.emplace_back(op83, xnn_delete_operator);
1979 
1980   xnn_operator_t op84 = nullptr;
1981   status = xnn_create_convolution2d_nhwc_f32(
1982     2 /* top padding */, 2 /* right padding */,
1983     2 /* bottom padding */, 2 /* left padding */,
1984     5 /* kernel height */, 5 /* kernel width */,
1985     1 /* subsampling height */, 1 /* subsampling width */,
1986     1 /* dilation_height */, 1 /* dilation_width */,
1987     576 /* groups */,
1988     1 /* input channels per group */,
1989     1 /* output_channels_per_group */,
1990     576 /* input pixel stride */,
1991     576 /* output pixel stride */,
1992     w194.data(), w195.data(),
1993     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
1994     0 /* flags */,
1995     &caches,
1996     &op84);
1997   if (status != xnn_status_success) {
1998     std::cerr << "failed to create operation #84" << std::endl;
1999     return ExecutionPlan();
2000   }
2001   operators.emplace_back(op84, xnn_delete_operator);
2002 
2003   xnn_operator_t op85 = nullptr;
2004   status = xnn_create_hardswish_nc_f32(
2005     576 /* channels */,
2006     576 /* input stride */,
2007     576 /* output stride */,
2008     0 /* flags */,
2009     &op85);
2010   if (status != xnn_status_success) {
2011     std::cerr << "failed to create operation #85" << std::endl;
2012     return ExecutionPlan();
2013   }
2014   operators.emplace_back(op85, xnn_delete_operator);
2015 
2016   xnn_operator_t op86 = nullptr;
2017   status = xnn_create_global_average_pooling_nwc_f32(
2018     576 /* channels */, 576 /* input stride */, 576 /* output stride */,
2019     -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
2020     0 /* flags */,
2021     &op86);
2022   if (status != xnn_status_success) {
2023     std::cerr << "failed to create operation #86" << std::endl;
2024     return ExecutionPlan();
2025   }
2026   operators.emplace_back(op86, xnn_delete_operator);
2027 
2028   xnn_operator_t op87 = nullptr;
2029   status = xnn_create_convolution2d_nhwc_f32(
2030     0 /* top padding */, 0 /* right padding */,
2031     0 /* bottom padding */, 0 /* left padding */,
2032     1 /* kernel height */, 1 /* kernel width */,
2033     1 /* subsampling height */, 1 /* subsampling width */,
2034     1 /* dilation_height */, 1 /* dilation_width */,
2035     1 /* groups */,
2036     576 /* input channels per group */,
2037     144 /* output_channels_per_group */,
2038     576 /* input pixel stride */,
2039     144 /* output pixel stride */,
2040     w196.data(), w197.data(),
2041     0.0f /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2042     0 /* flags */,
2043     &caches,
2044     &op87);
2045   if (status != xnn_status_success) {
2046     std::cerr << "failed to create operation #87" << std::endl;
2047     return ExecutionPlan();
2048   }
2049   operators.emplace_back(op87, xnn_delete_operator);
2050 
2051   xnn_operator_t op88 = nullptr;
2052   status = xnn_create_convolution2d_nhwc_f32(
2053     0 /* top padding */, 0 /* right padding */,
2054     0 /* bottom padding */, 0 /* left padding */,
2055     1 /* kernel height */, 1 /* kernel width */,
2056     1 /* subsampling height */, 1 /* subsampling width */,
2057     1 /* dilation_height */, 1 /* dilation_width */,
2058     1 /* groups */,
2059     144 /* input channels per group */,
2060     576 /* output_channels_per_group */,
2061     144 /* input pixel stride */,
2062     576 /* output pixel stride */,
2063     w198.data(), w199.data(),
2064     0.0f /* output min */, +0x1.00014Fp+0 /* output max */,
2065     0 /* flags */,
2066     &caches,
2067     &op88);
2068   if (status != xnn_status_success) {
2069     std::cerr << "failed to create operation #88" << std::endl;
2070     return ExecutionPlan();
2071   }
2072   operators.emplace_back(op88, xnn_delete_operator);
2073 
2074   xnn_operator_t op89 = nullptr;
2075   status = xnn_create_multiply_nd_f32(
2076     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2077     0 /* flags */,
2078     &op89);
2079   if (status != xnn_status_success) {
2080     std::cerr << "failed to create operation #89" << std::endl;
2081     return ExecutionPlan();
2082   }
2083   operators.emplace_back(op89, xnn_delete_operator);
2084 
2085   xnn_operator_t op90 = nullptr;
2086   status = xnn_create_convolution2d_nhwc_f32(
2087     0 /* top padding */, 0 /* right padding */,
2088     0 /* bottom padding */, 0 /* left padding */,
2089     1 /* kernel height */, 1 /* kernel width */,
2090     1 /* subsampling height */, 1 /* subsampling width */,
2091     1 /* dilation_height */, 1 /* dilation_width */,
2092     1 /* groups */,
2093     576 /* input channels per group */,
2094     96 /* output_channels_per_group */,
2095     576 /* input pixel stride */,
2096     96 /* output pixel stride */,
2097     w200.data(), w201.data(),
2098     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2099     0 /* flags */,
2100     &caches,
2101     &op90);
2102   if (status != xnn_status_success) {
2103     std::cerr << "failed to create operation #90" << std::endl;
2104     return ExecutionPlan();
2105   }
2106   operators.emplace_back(op90, xnn_delete_operator);
2107 
2108   xnn_operator_t op91 = nullptr;
2109   status = xnn_create_add_nd_f32(
2110     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2111     0 /* flags */,
2112     &op91);
2113   if (status != xnn_status_success) {
2114     std::cerr << "failed to create operation #91" << std::endl;
2115     return ExecutionPlan();
2116   }
2117   operators.emplace_back(op91, xnn_delete_operator);
2118 
2119   xnn_operator_t op92 = nullptr;
2120   status = xnn_create_convolution2d_nhwc_f32(
2121     0 /* top padding */, 0 /* right padding */,
2122     0 /* bottom padding */, 0 /* left padding */,
2123     1 /* kernel height */, 1 /* kernel width */,
2124     1 /* subsampling height */, 1 /* subsampling width */,
2125     1 /* dilation_height */, 1 /* dilation_width */,
2126     1 /* groups */,
2127     96 /* input channels per group */,
2128     576 /* output_channels_per_group */,
2129     96 /* input pixel stride */,
2130     576 /* output pixel stride */,
2131     w202.data(), w203.data(),
2132     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2133     0 /* flags */,
2134     &caches,
2135     &op92);
2136   if (status != xnn_status_success) {
2137     std::cerr << "failed to create operation #92" << std::endl;
2138     return ExecutionPlan();
2139   }
2140   operators.emplace_back(op92, xnn_delete_operator);
2141 
2142   xnn_operator_t op93 = nullptr;
2143   status = xnn_create_hardswish_nc_f32(
2144     576 /* channels */,
2145     576 /* input stride */,
2146     576 /* output stride */,
2147     0 /* flags */,
2148     &op93);
2149   if (status != xnn_status_success) {
2150     std::cerr << "failed to create operation #93" << std::endl;
2151     return ExecutionPlan();
2152   }
2153   operators.emplace_back(op93, xnn_delete_operator);
2154 
2155   xnn_operator_t op94 = nullptr;
2156   status = xnn_create_global_average_pooling_nwc_f32(
2157     576 /* channels */, 576 /* input stride */, 576 /* output stride */,
2158     -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
2159     0 /* flags */,
2160     &op94);
2161   if (status != xnn_status_success) {
2162     std::cerr << "failed to create operation #94" << std::endl;
2163     return ExecutionPlan();
2164   }
2165   operators.emplace_back(op94, xnn_delete_operator);
2166 
2167   xnn_operator_t op95 = nullptr;
2168   status = xnn_create_convolution2d_nhwc_f32(
2169     0 /* top padding */, 0 /* right padding */,
2170     0 /* bottom padding */, 0 /* left padding */,
2171     1 /* kernel height */, 1 /* kernel width */,
2172     1 /* subsampling height */, 1 /* subsampling width */,
2173     1 /* dilation_height */, 1 /* dilation_width */,
2174     1 /* groups */,
2175     576 /* input channels per group */,
2176     1024 /* output_channels_per_group */,
2177     576 /* input pixel stride */,
2178     1024 /* output pixel stride */,
2179     w204.data(), w205.data(),
2180     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2181     0 /* flags */,
2182     &caches,
2183     &op95);
2184   if (status != xnn_status_success) {
2185     std::cerr << "failed to create operation #95" << std::endl;
2186     return ExecutionPlan();
2187   }
2188   operators.emplace_back(op95, xnn_delete_operator);
2189 
2190   xnn_operator_t op96 = nullptr;
2191   status = xnn_create_hardswish_nc_f32(
2192     1024 /* channels */,
2193     1024 /* input stride */,
2194     1024 /* output stride */,
2195     0 /* flags */,
2196     &op96);
2197   if (status != xnn_status_success) {
2198     std::cerr << "failed to create operation #96" << std::endl;
2199     return ExecutionPlan();
2200   }
2201   operators.emplace_back(op96, xnn_delete_operator);
2202 
2203   xnn_operator_t op97 = nullptr;
2204   status = xnn_create_global_average_pooling_nwc_f32(
2205     1024 /* channels */, 1024 /* input stride */, 1024 /* output stride */,
2206     -std::numeric_limits<float>::infinity(), std::numeric_limits<float>::infinity(),
2207     0 /* flags */,
2208     &op97);
2209   if (status != xnn_status_success) {
2210     std::cerr << "failed to create operation #97" << std::endl;
2211     return ExecutionPlan();
2212   }
2213   operators.emplace_back(op97, xnn_delete_operator);
2214 
2215   xnn_operator_t op98 = nullptr;
2216   status = xnn_create_convolution2d_nhwc_f32(
2217     0 /* top padding */, 0 /* right padding */,
2218     0 /* bottom padding */, 0 /* left padding */,
2219     1 /* kernel height */, 1 /* kernel width */,
2220     1 /* subsampling height */, 1 /* subsampling width */,
2221     1 /* dilation_height */, 1 /* dilation_width */,
2222     1 /* groups */,
2223     1024 /* input channels per group */,
2224     1001 /* output_channels_per_group */,
2225     1024 /* input pixel stride */,
2226     1001 /* output pixel stride */,
2227     w206.data(), w207.data(),
2228     -std::numeric_limits<float>::infinity() /* output min */, std::numeric_limits<float>::infinity() /* output max */,
2229     0 /* flags */,
2230     &caches,
2231     &op98);
2232   if (status != xnn_status_success) {
2233     std::cerr << "failed to create operation #98" << std::endl;
2234     return ExecutionPlan();
2235   }
2236   operators.emplace_back(op98, xnn_delete_operator);
2237 
2238 #if XNN_PLATFORM_JIT
2239   xnn_finalize_code_memory(&code_cache.cache.code);
2240 #endif
2241 
2242   status = xnn_setup_convolution2d_nhwc_f32(
2243     op0,
2244     1 /* batch size */, 224 /* input height */, 224 /* input width */,
2245     v0.data() /* input */, v1.data() /* output */,
2246     threadpool /* threadpool */);
2247   if (status != xnn_status_success) {
2248     std::cerr << "failed to setup operation #0" << std::endl;
2249     return ExecutionPlan();
2250   }
2251 
2252   status = xnn_setup_hardswish_nc_f32(
2253     op1,
2254     12544 /* batch size */,
2255     v1.data() /* input */, v2.data() /* output */,
2256     threadpool /* threadpool */);
2257   if (status != xnn_status_success) {
2258     std::cerr << "failed to setup operation #1" << std::endl;
2259     return ExecutionPlan();
2260   }
2261 
2262   status = xnn_setup_convolution2d_nhwc_f32(
2263     op2,
2264     1 /* batch size */, 112 /* input height */, 112 /* input width */,
2265     v2.data() /* input */, v3.data() /* output */,
2266     threadpool /* threadpool */);
2267   if (status != xnn_status_success) {
2268     std::cerr << "failed to setup operation #2" << std::endl;
2269     return ExecutionPlan();
2270   }
2271 
2272   status = xnn_setup_global_average_pooling_nwc_f32(
2273     op3,
2274     1 /* batch size */, 3136 /* width */,
2275     v3.data() /* input */, v4.data() /* output */,
2276     threadpool /* threadpool */);
2277   if (status != xnn_status_success) {
2278     std::cerr << "failed to setup operation #3" << std::endl;
2279     return ExecutionPlan();
2280   }
2281 
2282   status = xnn_setup_convolution2d_nhwc_f32(
2283     op4,
2284     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2285     v4.data() /* input */, v5.data() /* output */,
2286     threadpool /* threadpool */);
2287   if (status != xnn_status_success) {
2288     std::cerr << "failed to setup operation #4" << std::endl;
2289     return ExecutionPlan();
2290   }
2291 
2292   status = xnn_setup_convolution2d_nhwc_f32(
2293     op5,
2294     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2295     v5.data() /* input */, v6.data() /* output */,
2296     threadpool /* threadpool */);
2297   if (status != xnn_status_success) {
2298     std::cerr << "failed to setup operation #5" << std::endl;
2299     return ExecutionPlan();
2300   }
2301 
2302   {
2303     const size_t a_shape[] = { 1, 56, 56, 16 };
2304     const size_t b_shape[] = { 1, 1, 1, 16 };
2305     status = xnn_setup_multiply_nd_f32(
2306       op6,
2307       4, a_shape, 4, b_shape,
2308       v3.data() /* a */, v6.data() /* b */, v7.data() /* output */,
2309       threadpool /* threadpool */);
2310   }
2311   if (status != xnn_status_success) {
2312     std::cerr << "failed to setup operation #6" << std::endl;
2313     return ExecutionPlan();
2314   }
2315 
2316   status = xnn_setup_convolution2d_nhwc_f32(
2317     op7,
2318     1 /* batch size */, 56 /* input height */, 56 /* input width */,
2319     v7.data() /* input */, v8.data() /* output */,
2320     threadpool /* threadpool */);
2321   if (status != xnn_status_success) {
2322     std::cerr << "failed to setup operation #7" << std::endl;
2323     return ExecutionPlan();
2324   }
2325 
2326   status = xnn_setup_convolution2d_nhwc_f32(
2327     op8,
2328     1 /* batch size */, 56 /* input height */, 56 /* input width */,
2329     v8.data() /* input */, v9.data() /* output */,
2330     threadpool /* threadpool */);
2331   if (status != xnn_status_success) {
2332     std::cerr << "failed to setup operation #8" << std::endl;
2333     return ExecutionPlan();
2334   }
2335 
2336   status = xnn_setup_convolution2d_nhwc_f32(
2337     op9,
2338     1 /* batch size */, 56 /* input height */, 56 /* input width */,
2339     v9.data() /* input */, v10.data() /* output */,
2340     threadpool /* threadpool */);
2341   if (status != xnn_status_success) {
2342     std::cerr << "failed to setup operation #9" << std::endl;
2343     return ExecutionPlan();
2344   }
2345 
2346   status = xnn_setup_convolution2d_nhwc_f32(
2347     op10,
2348     1 /* batch size */, 28 /* input height */, 28 /* input width */,
2349     v10.data() /* input */, v11.data() /* output */,
2350     threadpool /* threadpool */);
2351   if (status != xnn_status_success) {
2352     std::cerr << "failed to setup operation #10" << std::endl;
2353     return ExecutionPlan();
2354   }
2355 
2356   status = xnn_setup_convolution2d_nhwc_f32(
2357     op11,
2358     1 /* batch size */, 28 /* input height */, 28 /* input width */,
2359     v11.data() /* input */, v12.data() /* output */,
2360     threadpool /* threadpool */);
2361   if (status != xnn_status_success) {
2362     std::cerr << "failed to setup operation #11" << std::endl;
2363     return ExecutionPlan();
2364   }
2365 
2366   status = xnn_setup_convolution2d_nhwc_f32(
2367     op12,
2368     1 /* batch size */, 28 /* input height */, 28 /* input width */,
2369     v12.data() /* input */, v13.data() /* output */,
2370     threadpool /* threadpool */);
2371   if (status != xnn_status_success) {
2372     std::cerr << "failed to setup operation #12" << std::endl;
2373     return ExecutionPlan();
2374   }
2375 
2376   status = xnn_setup_convolution2d_nhwc_f32(
2377     op13,
2378     1 /* batch size */, 28 /* input height */, 28 /* input width */,
2379     v13.data() /* input */, v14.data() /* output */,
2380     threadpool /* threadpool */);
2381   if (status != xnn_status_success) {
2382     std::cerr << "failed to setup operation #13" << std::endl;
2383     return ExecutionPlan();
2384   }
2385 
2386   {
2387     const size_t a_shape[] = { 1, 28, 28, 24 };
2388     const size_t b_shape[] = { 1, 28, 28, 24 };
2389     status = xnn_setup_add_nd_f32(
2390       op14,
2391       4, a_shape, 4, b_shape,
2392       v14.data() /* a */, v11.data() /* b */, v15.data() /* output */,
2393       threadpool /* threadpool */);
2394   }
2395   if (status != xnn_status_success) {
2396     std::cerr << "failed to setup operation #14" << std::endl;
2397     return ExecutionPlan();
2398   }
2399 
2400   status = xnn_setup_convolution2d_nhwc_f32(
2401     op15,
2402     1 /* batch size */, 28 /* input height */, 28 /* input width */,
2403     v15.data() /* input */, v16.data() /* output */,
2404     threadpool /* threadpool */);
2405   if (status != xnn_status_success) {
2406     std::cerr << "failed to setup operation #15" << std::endl;
2407     return ExecutionPlan();
2408   }
2409 
2410   status = xnn_setup_hardswish_nc_f32(
2411     op16,
2412     784 /* batch size */,
2413     v16.data() /* input */, v17.data() /* output */,
2414     threadpool /* threadpool */);
2415   if (status != xnn_status_success) {
2416     std::cerr << "failed to setup operation #16" << std::endl;
2417     return ExecutionPlan();
2418   }
2419 
2420   status = xnn_setup_convolution2d_nhwc_f32(
2421     op17,
2422     1 /* batch size */, 28 /* input height */, 28 /* input width */,
2423     v17.data() /* input */, v18.data() /* output */,
2424     threadpool /* threadpool */);
2425   if (status != xnn_status_success) {
2426     std::cerr << "failed to setup operation #17" << std::endl;
2427     return ExecutionPlan();
2428   }
2429 
2430   status = xnn_setup_hardswish_nc_f32(
2431     op18,
2432     196 /* batch size */,
2433     v18.data() /* input */, v19.data() /* output */,
2434     threadpool /* threadpool */);
2435   if (status != xnn_status_success) {
2436     std::cerr << "failed to setup operation #18" << std::endl;
2437     return ExecutionPlan();
2438   }
2439 
2440   status = xnn_setup_global_average_pooling_nwc_f32(
2441     op19,
2442     1 /* batch size */, 196 /* width */,
2443     v19.data() /* input */, v20.data() /* output */,
2444     threadpool /* threadpool */);
2445   if (status != xnn_status_success) {
2446     std::cerr << "failed to setup operation #19" << std::endl;
2447     return ExecutionPlan();
2448   }
2449 
2450   status = xnn_setup_convolution2d_nhwc_f32(
2451     op20,
2452     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2453     v20.data() /* input */, v21.data() /* output */,
2454     threadpool /* threadpool */);
2455   if (status != xnn_status_success) {
2456     std::cerr << "failed to setup operation #20" << std::endl;
2457     return ExecutionPlan();
2458   }
2459 
2460   status = xnn_setup_convolution2d_nhwc_f32(
2461     op21,
2462     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2463     v21.data() /* input */, v22.data() /* output */,
2464     threadpool /* threadpool */);
2465   if (status != xnn_status_success) {
2466     std::cerr << "failed to setup operation #21" << std::endl;
2467     return ExecutionPlan();
2468   }
2469 
2470   {
2471     const size_t a_shape[] = { 1, 14, 14, 96 };
2472     const size_t b_shape[] = { 1, 1, 1, 96 };
2473     status = xnn_setup_multiply_nd_f32(
2474       op22,
2475       4, a_shape, 4, b_shape,
2476       v19.data() /* a */, v22.data() /* b */, v23.data() /* output */,
2477       threadpool /* threadpool */);
2478   }
2479   if (status != xnn_status_success) {
2480     std::cerr << "failed to setup operation #22" << std::endl;
2481     return ExecutionPlan();
2482   }
2483 
2484   status = xnn_setup_convolution2d_nhwc_f32(
2485     op23,
2486     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2487     v23.data() /* input */, v24.data() /* output */,
2488     threadpool /* threadpool */);
2489   if (status != xnn_status_success) {
2490     std::cerr << "failed to setup operation #23" << std::endl;
2491     return ExecutionPlan();
2492   }
2493 
2494   status = xnn_setup_convolution2d_nhwc_f32(
2495     op24,
2496     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2497     v24.data() /* input */, v25.data() /* output */,
2498     threadpool /* threadpool */);
2499   if (status != xnn_status_success) {
2500     std::cerr << "failed to setup operation #24" << std::endl;
2501     return ExecutionPlan();
2502   }
2503 
2504   status = xnn_setup_hardswish_nc_f32(
2505     op25,
2506     196 /* batch size */,
2507     v25.data() /* input */, v26.data() /* output */,
2508     threadpool /* threadpool */);
2509   if (status != xnn_status_success) {
2510     std::cerr << "failed to setup operation #25" << std::endl;
2511     return ExecutionPlan();
2512   }
2513 
2514   status = xnn_setup_convolution2d_nhwc_f32(
2515     op26,
2516     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2517     v26.data() /* input */, v27.data() /* output */,
2518     threadpool /* threadpool */);
2519   if (status != xnn_status_success) {
2520     std::cerr << "failed to setup operation #26" << std::endl;
2521     return ExecutionPlan();
2522   }
2523 
2524   status = xnn_setup_hardswish_nc_f32(
2525     op27,
2526     196 /* batch size */,
2527     v27.data() /* input */, v28.data() /* output */,
2528     threadpool /* threadpool */);
2529   if (status != xnn_status_success) {
2530     std::cerr << "failed to setup operation #27" << std::endl;
2531     return ExecutionPlan();
2532   }
2533 
2534   status = xnn_setup_global_average_pooling_nwc_f32(
2535     op28,
2536     1 /* batch size */, 196 /* width */,
2537     v28.data() /* input */, v29.data() /* output */,
2538     threadpool /* threadpool */);
2539   if (status != xnn_status_success) {
2540     std::cerr << "failed to setup operation #28" << std::endl;
2541     return ExecutionPlan();
2542   }
2543 
2544   status = xnn_setup_convolution2d_nhwc_f32(
2545     op29,
2546     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2547     v29.data() /* input */, v30.data() /* output */,
2548     threadpool /* threadpool */);
2549   if (status != xnn_status_success) {
2550     std::cerr << "failed to setup operation #29" << std::endl;
2551     return ExecutionPlan();
2552   }
2553 
2554   status = xnn_setup_convolution2d_nhwc_f32(
2555     op30,
2556     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2557     v30.data() /* input */, v31.data() /* output */,
2558     threadpool /* threadpool */);
2559   if (status != xnn_status_success) {
2560     std::cerr << "failed to setup operation #30" << std::endl;
2561     return ExecutionPlan();
2562   }
2563 
2564   {
2565     const size_t a_shape[] = { 1, 14, 14, 240 };
2566     const size_t b_shape[] = { 1, 1, 1, 240 };
2567     status = xnn_setup_multiply_nd_f32(
2568       op31,
2569       4, a_shape, 4, b_shape,
2570       v28.data() /* a */, v31.data() /* b */, v32.data() /* output */,
2571       threadpool /* threadpool */);
2572   }
2573   if (status != xnn_status_success) {
2574     std::cerr << "failed to setup operation #31" << std::endl;
2575     return ExecutionPlan();
2576   }
2577 
2578   status = xnn_setup_convolution2d_nhwc_f32(
2579     op32,
2580     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2581     v32.data() /* input */, v33.data() /* output */,
2582     threadpool /* threadpool */);
2583   if (status != xnn_status_success) {
2584     std::cerr << "failed to setup operation #32" << std::endl;
2585     return ExecutionPlan();
2586   }
2587 
2588   {
2589     const size_t a_shape[] = { 1, 14, 14, 40 };
2590     const size_t b_shape[] = { 1, 14, 14, 40 };
2591     status = xnn_setup_add_nd_f32(
2592       op33,
2593       4, a_shape, 4, b_shape,
2594       v33.data() /* a */, v24.data() /* b */, v34.data() /* output */,
2595       threadpool /* threadpool */);
2596   }
2597   if (status != xnn_status_success) {
2598     std::cerr << "failed to setup operation #33" << std::endl;
2599     return ExecutionPlan();
2600   }
2601 
2602   status = xnn_setup_convolution2d_nhwc_f32(
2603     op34,
2604     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2605     v34.data() /* input */, v35.data() /* output */,
2606     threadpool /* threadpool */);
2607   if (status != xnn_status_success) {
2608     std::cerr << "failed to setup operation #34" << std::endl;
2609     return ExecutionPlan();
2610   }
2611 
2612   status = xnn_setup_hardswish_nc_f32(
2613     op35,
2614     196 /* batch size */,
2615     v35.data() /* input */, v36.data() /* output */,
2616     threadpool /* threadpool */);
2617   if (status != xnn_status_success) {
2618     std::cerr << "failed to setup operation #35" << std::endl;
2619     return ExecutionPlan();
2620   }
2621 
2622   status = xnn_setup_convolution2d_nhwc_f32(
2623     op36,
2624     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2625     v36.data() /* input */, v37.data() /* output */,
2626     threadpool /* threadpool */);
2627   if (status != xnn_status_success) {
2628     std::cerr << "failed to setup operation #36" << std::endl;
2629     return ExecutionPlan();
2630   }
2631 
2632   status = xnn_setup_hardswish_nc_f32(
2633     op37,
2634     196 /* batch size */,
2635     v37.data() /* input */, v38.data() /* output */,
2636     threadpool /* threadpool */);
2637   if (status != xnn_status_success) {
2638     std::cerr << "failed to setup operation #37" << std::endl;
2639     return ExecutionPlan();
2640   }
2641 
2642   status = xnn_setup_global_average_pooling_nwc_f32(
2643     op38,
2644     1 /* batch size */, 196 /* width */,
2645     v38.data() /* input */, v39.data() /* output */,
2646     threadpool /* threadpool */);
2647   if (status != xnn_status_success) {
2648     std::cerr << "failed to setup operation #38" << std::endl;
2649     return ExecutionPlan();
2650   }
2651 
2652   status = xnn_setup_convolution2d_nhwc_f32(
2653     op39,
2654     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2655     v39.data() /* input */, v40.data() /* output */,
2656     threadpool /* threadpool */);
2657   if (status != xnn_status_success) {
2658     std::cerr << "failed to setup operation #39" << std::endl;
2659     return ExecutionPlan();
2660   }
2661 
2662   status = xnn_setup_convolution2d_nhwc_f32(
2663     op40,
2664     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2665     v40.data() /* input */, v41.data() /* output */,
2666     threadpool /* threadpool */);
2667   if (status != xnn_status_success) {
2668     std::cerr << "failed to setup operation #40" << std::endl;
2669     return ExecutionPlan();
2670   }
2671 
2672   {
2673     const size_t a_shape[] = { 1, 14, 14, 240 };
2674     const size_t b_shape[] = { 1, 1, 1, 240 };
2675     status = xnn_setup_multiply_nd_f32(
2676       op41,
2677       4, a_shape, 4, b_shape,
2678       v38.data() /* a */, v41.data() /* b */, v42.data() /* output */,
2679       threadpool /* threadpool */);
2680   }
2681   if (status != xnn_status_success) {
2682     std::cerr << "failed to setup operation #41" << std::endl;
2683     return ExecutionPlan();
2684   }
2685 
2686   status = xnn_setup_convolution2d_nhwc_f32(
2687     op42,
2688     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2689     v42.data() /* input */, v43.data() /* output */,
2690     threadpool /* threadpool */);
2691   if (status != xnn_status_success) {
2692     std::cerr << "failed to setup operation #42" << std::endl;
2693     return ExecutionPlan();
2694   }
2695 
2696   {
2697     const size_t a_shape[] = { 1, 14, 14, 40 };
2698     const size_t b_shape[] = { 1, 14, 14, 40 };
2699     status = xnn_setup_add_nd_f32(
2700       op43,
2701       4, a_shape, 4, b_shape,
2702       v43.data() /* a */, v34.data() /* b */, v44.data() /* output */,
2703       threadpool /* threadpool */);
2704   }
2705   if (status != xnn_status_success) {
2706     std::cerr << "failed to setup operation #43" << std::endl;
2707     return ExecutionPlan();
2708   }
2709 
2710   status = xnn_setup_convolution2d_nhwc_f32(
2711     op44,
2712     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2713     v44.data() /* input */, v45.data() /* output */,
2714     threadpool /* threadpool */);
2715   if (status != xnn_status_success) {
2716     std::cerr << "failed to setup operation #44" << std::endl;
2717     return ExecutionPlan();
2718   }
2719 
2720   status = xnn_setup_hardswish_nc_f32(
2721     op45,
2722     196 /* batch size */,
2723     v45.data() /* input */, v46.data() /* output */,
2724     threadpool /* threadpool */);
2725   if (status != xnn_status_success) {
2726     std::cerr << "failed to setup operation #45" << std::endl;
2727     return ExecutionPlan();
2728   }
2729 
2730   status = xnn_setup_convolution2d_nhwc_f32(
2731     op46,
2732     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2733     v46.data() /* input */, v47.data() /* output */,
2734     threadpool /* threadpool */);
2735   if (status != xnn_status_success) {
2736     std::cerr << "failed to setup operation #46" << std::endl;
2737     return ExecutionPlan();
2738   }
2739 
2740   status = xnn_setup_hardswish_nc_f32(
2741     op47,
2742     196 /* batch size */,
2743     v47.data() /* input */, v48.data() /* output */,
2744     threadpool /* threadpool */);
2745   if (status != xnn_status_success) {
2746     std::cerr << "failed to setup operation #47" << std::endl;
2747     return ExecutionPlan();
2748   }
2749 
2750   status = xnn_setup_global_average_pooling_nwc_f32(
2751     op48,
2752     1 /* batch size */, 196 /* width */,
2753     v48.data() /* input */, v49.data() /* output */,
2754     threadpool /* threadpool */);
2755   if (status != xnn_status_success) {
2756     std::cerr << "failed to setup operation #48" << std::endl;
2757     return ExecutionPlan();
2758   }
2759 
2760   status = xnn_setup_convolution2d_nhwc_f32(
2761     op49,
2762     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2763     v49.data() /* input */, v50.data() /* output */,
2764     threadpool /* threadpool */);
2765   if (status != xnn_status_success) {
2766     std::cerr << "failed to setup operation #49" << std::endl;
2767     return ExecutionPlan();
2768   }
2769 
2770   status = xnn_setup_convolution2d_nhwc_f32(
2771     op50,
2772     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2773     v50.data() /* input */, v51.data() /* output */,
2774     threadpool /* threadpool */);
2775   if (status != xnn_status_success) {
2776     std::cerr << "failed to setup operation #50" << std::endl;
2777     return ExecutionPlan();
2778   }
2779 
2780   {
2781     const size_t a_shape[] = { 1, 14, 14, 120 };
2782     const size_t b_shape[] = { 1, 1, 1, 120 };
2783     status = xnn_setup_multiply_nd_f32(
2784       op51,
2785       4, a_shape, 4, b_shape,
2786       v48.data() /* a */, v51.data() /* b */, v52.data() /* output */,
2787       threadpool /* threadpool */);
2788   }
2789   if (status != xnn_status_success) {
2790     std::cerr << "failed to setup operation #51" << std::endl;
2791     return ExecutionPlan();
2792   }
2793 
2794   status = xnn_setup_convolution2d_nhwc_f32(
2795     op52,
2796     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2797     v52.data() /* input */, v53.data() /* output */,
2798     threadpool /* threadpool */);
2799   if (status != xnn_status_success) {
2800     std::cerr << "failed to setup operation #52" << std::endl;
2801     return ExecutionPlan();
2802   }
2803 
2804   status = xnn_setup_convolution2d_nhwc_f32(
2805     op53,
2806     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2807     v53.data() /* input */, v54.data() /* output */,
2808     threadpool /* threadpool */);
2809   if (status != xnn_status_success) {
2810     std::cerr << "failed to setup operation #53" << std::endl;
2811     return ExecutionPlan();
2812   }
2813 
2814   status = xnn_setup_hardswish_nc_f32(
2815     op54,
2816     196 /* batch size */,
2817     v54.data() /* input */, v55.data() /* output */,
2818     threadpool /* threadpool */);
2819   if (status != xnn_status_success) {
2820     std::cerr << "failed to setup operation #54" << std::endl;
2821     return ExecutionPlan();
2822   }
2823 
2824   status = xnn_setup_convolution2d_nhwc_f32(
2825     op55,
2826     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2827     v55.data() /* input */, v56.data() /* output */,
2828     threadpool /* threadpool */);
2829   if (status != xnn_status_success) {
2830     std::cerr << "failed to setup operation #55" << std::endl;
2831     return ExecutionPlan();
2832   }
2833 
2834   status = xnn_setup_hardswish_nc_f32(
2835     op56,
2836     196 /* batch size */,
2837     v56.data() /* input */, v57.data() /* output */,
2838     threadpool /* threadpool */);
2839   if (status != xnn_status_success) {
2840     std::cerr << "failed to setup operation #56" << std::endl;
2841     return ExecutionPlan();
2842   }
2843 
2844   status = xnn_setup_global_average_pooling_nwc_f32(
2845     op57,
2846     1 /* batch size */, 196 /* width */,
2847     v57.data() /* input */, v58.data() /* output */,
2848     threadpool /* threadpool */);
2849   if (status != xnn_status_success) {
2850     std::cerr << "failed to setup operation #57" << std::endl;
2851     return ExecutionPlan();
2852   }
2853 
2854   status = xnn_setup_convolution2d_nhwc_f32(
2855     op58,
2856     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2857     v58.data() /* input */, v59.data() /* output */,
2858     threadpool /* threadpool */);
2859   if (status != xnn_status_success) {
2860     std::cerr << "failed to setup operation #58" << std::endl;
2861     return ExecutionPlan();
2862   }
2863 
2864   status = xnn_setup_convolution2d_nhwc_f32(
2865     op59,
2866     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2867     v59.data() /* input */, v60.data() /* output */,
2868     threadpool /* threadpool */);
2869   if (status != xnn_status_success) {
2870     std::cerr << "failed to setup operation #59" << std::endl;
2871     return ExecutionPlan();
2872   }
2873 
2874   {
2875     const size_t a_shape[] = { 1, 14, 14, 144 };
2876     const size_t b_shape[] = { 1, 1, 1, 144 };
2877     status = xnn_setup_multiply_nd_f32(
2878       op60,
2879       4, a_shape, 4, b_shape,
2880       v57.data() /* a */, v60.data() /* b */, v61.data() /* output */,
2881       threadpool /* threadpool */);
2882   }
2883   if (status != xnn_status_success) {
2884     std::cerr << "failed to setup operation #60" << std::endl;
2885     return ExecutionPlan();
2886   }
2887 
2888   status = xnn_setup_convolution2d_nhwc_f32(
2889     op61,
2890     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2891     v61.data() /* input */, v62.data() /* output */,
2892     threadpool /* threadpool */);
2893   if (status != xnn_status_success) {
2894     std::cerr << "failed to setup operation #61" << std::endl;
2895     return ExecutionPlan();
2896   }
2897 
2898   {
2899     const size_t a_shape[] = { 1, 14, 14, 48 };
2900     const size_t b_shape[] = { 1, 14, 14, 48 };
2901     status = xnn_setup_add_nd_f32(
2902       op62,
2903       4, a_shape, 4, b_shape,
2904       v62.data() /* a */, v53.data() /* b */, v63.data() /* output */,
2905       threadpool /* threadpool */);
2906   }
2907   if (status != xnn_status_success) {
2908     std::cerr << "failed to setup operation #62" << std::endl;
2909     return ExecutionPlan();
2910   }
2911 
2912   status = xnn_setup_convolution2d_nhwc_f32(
2913     op63,
2914     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2915     v63.data() /* input */, v64.data() /* output */,
2916     threadpool /* threadpool */);
2917   if (status != xnn_status_success) {
2918     std::cerr << "failed to setup operation #63" << std::endl;
2919     return ExecutionPlan();
2920   }
2921 
2922   status = xnn_setup_hardswish_nc_f32(
2923     op64,
2924     196 /* batch size */,
2925     v64.data() /* input */, v65.data() /* output */,
2926     threadpool /* threadpool */);
2927   if (status != xnn_status_success) {
2928     std::cerr << "failed to setup operation #64" << std::endl;
2929     return ExecutionPlan();
2930   }
2931 
2932   status = xnn_setup_convolution2d_nhwc_f32(
2933     op65,
2934     1 /* batch size */, 14 /* input height */, 14 /* input width */,
2935     v65.data() /* input */, v66.data() /* output */,
2936     threadpool /* threadpool */);
2937   if (status != xnn_status_success) {
2938     std::cerr << "failed to setup operation #65" << std::endl;
2939     return ExecutionPlan();
2940   }
2941 
2942   status = xnn_setup_hardswish_nc_f32(
2943     op66,
2944     49 /* batch size */,
2945     v66.data() /* input */, v67.data() /* output */,
2946     threadpool /* threadpool */);
2947   if (status != xnn_status_success) {
2948     std::cerr << "failed to setup operation #66" << std::endl;
2949     return ExecutionPlan();
2950   }
2951 
2952   status = xnn_setup_global_average_pooling_nwc_f32(
2953     op67,
2954     1 /* batch size */, 49 /* width */,
2955     v67.data() /* input */, v68.data() /* output */,
2956     threadpool /* threadpool */);
2957   if (status != xnn_status_success) {
2958     std::cerr << "failed to setup operation #67" << std::endl;
2959     return ExecutionPlan();
2960   }
2961 
2962   status = xnn_setup_convolution2d_nhwc_f32(
2963     op68,
2964     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2965     v68.data() /* input */, v69.data() /* output */,
2966     threadpool /* threadpool */);
2967   if (status != xnn_status_success) {
2968     std::cerr << "failed to setup operation #68" << std::endl;
2969     return ExecutionPlan();
2970   }
2971 
2972   status = xnn_setup_convolution2d_nhwc_f32(
2973     op69,
2974     1 /* batch size */, 1 /* input height */, 1 /* input width */,
2975     v69.data() /* input */, v70.data() /* output */,
2976     threadpool /* threadpool */);
2977   if (status != xnn_status_success) {
2978     std::cerr << "failed to setup operation #69" << std::endl;
2979     return ExecutionPlan();
2980   }
2981 
2982   {
2983     const size_t a_shape[] = { 1, 7, 7, 288 };
2984     const size_t b_shape[] = { 1, 1, 1, 288 };
2985     status = xnn_setup_multiply_nd_f32(
2986       op70,
2987       4, a_shape, 4, b_shape,
2988       v67.data() /* a */, v70.data() /* b */, v71.data() /* output */,
2989       threadpool /* threadpool */);
2990   }
2991   if (status != xnn_status_success) {
2992     std::cerr << "failed to setup operation #70" << std::endl;
2993     return ExecutionPlan();
2994   }
2995 
2996   status = xnn_setup_convolution2d_nhwc_f32(
2997     op71,
2998     1 /* batch size */, 7 /* input height */, 7 /* input width */,
2999     v71.data() /* input */, v72.data() /* output */,
3000     threadpool /* threadpool */);
3001   if (status != xnn_status_success) {
3002     std::cerr << "failed to setup operation #71" << std::endl;
3003     return ExecutionPlan();
3004   }
3005 
3006   status = xnn_setup_convolution2d_nhwc_f32(
3007     op72,
3008     1 /* batch size */, 7 /* input height */, 7 /* input width */,
3009     v72.data() /* input */, v73.data() /* output */,
3010     threadpool /* threadpool */);
3011   if (status != xnn_status_success) {
3012     std::cerr << "failed to setup operation #72" << std::endl;
3013     return ExecutionPlan();
3014   }
3015 
3016   status = xnn_setup_hardswish_nc_f32(
3017     op73,
3018     49 /* batch size */,
3019     v73.data() /* input */, v74.data() /* output */,
3020     threadpool /* threadpool */);
3021   if (status != xnn_status_success) {
3022     std::cerr << "failed to setup operation #73" << std::endl;
3023     return ExecutionPlan();
3024   }
3025 
3026   status = xnn_setup_convolution2d_nhwc_f32(
3027     op74,
3028     1 /* batch size */, 7 /* input height */, 7 /* input width */,
3029     v74.data() /* input */, v75.data() /* output */,
3030     threadpool /* threadpool */);
3031   if (status != xnn_status_success) {
3032     std::cerr << "failed to setup operation #74" << std::endl;
3033     return ExecutionPlan();
3034   }
3035 
3036   status = xnn_setup_hardswish_nc_f32(
3037     op75,
3038     49 /* batch size */,
3039     v75.data() /* input */, v76.data() /* output */,
3040     threadpool /* threadpool */);
3041   if (status != xnn_status_success) {
3042     std::cerr << "failed to setup operation #75" << std::endl;
3043     return ExecutionPlan();
3044   }
3045 
3046   status = xnn_setup_global_average_pooling_nwc_f32(
3047     op76,
3048     1 /* batch size */, 49 /* width */,
3049     v76.data() /* input */, v77.data() /* output */,
3050     threadpool /* threadpool */);
3051   if (status != xnn_status_success) {
3052     std::cerr << "failed to setup operation #76" << std::endl;
3053     return ExecutionPlan();
3054   }
3055 
3056   status = xnn_setup_convolution2d_nhwc_f32(
3057     op77,
3058     1 /* batch size */, 1 /* input height */, 1 /* input width */,
3059     v77.data() /* input */, v78.data() /* output */,
3060     threadpool /* threadpool */);
3061   if (status != xnn_status_success) {
3062     std::cerr << "failed to setup operation #77" << std::endl;
3063     return ExecutionPlan();
3064   }
3065 
3066   status = xnn_setup_convolution2d_nhwc_f32(
3067     op78,
3068     1 /* batch size */, 1 /* input height */, 1 /* input width */,
3069     v78.data() /* input */, v79.data() /* output */,
3070     threadpool /* threadpool */);
3071   if (status != xnn_status_success) {
3072     std::cerr << "failed to setup operation #78" << std::endl;
3073     return ExecutionPlan();
3074   }
3075 
3076   {
3077     const size_t a_shape[] = { 1, 7, 7, 576 };
3078     const size_t b_shape[] = { 1, 1, 1, 576 };
3079     status = xnn_setup_multiply_nd_f32(
3080       op79,
3081       4, a_shape, 4, b_shape,
3082       v76.data() /* a */, v79.data() /* b */, v80.data() /* output */,
3083       threadpool /* threadpool */);
3084   }
3085   if (status != xnn_status_success) {
3086     std::cerr << "failed to setup operation #79" << std::endl;
3087     return ExecutionPlan();
3088   }
3089 
3090   status = xnn_setup_convolution2d_nhwc_f32(
3091     op80,
3092     1 /* batch size */, 7 /* input height */, 7 /* input width */,
3093     v80.data() /* input */, v81.data() /* output */,
3094     threadpool /* threadpool */);
3095   if (status != xnn_status_success) {
3096     std::cerr << "failed to setup operation #80" << std::endl;
3097     return ExecutionPlan();
3098   }
3099 
3100   {
3101     const size_t a_shape[] = { 1, 7, 7, 96 };
3102     const size_t b_shape[] = { 1, 7, 7, 96 };
3103     status = xnn_setup_add_nd_f32(
3104       op81,
3105       4, a_shape, 4, b_shape,
3106       v81.data() /* a */, v72.data() /* b */, v82.data() /* output */,
3107       threadpool /* threadpool */);
3108   }
3109   if (status != xnn_status_success) {
3110     std::cerr << "failed to setup operation #81" << std::endl;
3111     return ExecutionPlan();
3112   }
3113 
3114   status = xnn_setup_convolution2d_nhwc_f32(
3115     op82,
3116     1 /* batch size */, 7 /* input height */, 7 /* input width */,
3117     v82.data() /* input */, v83.data() /* output */,
3118     threadpool /* threadpool */);
3119   if (status != xnn_status_success) {
3120     std::cerr << "failed to setup operation #82" << std::endl;
3121     return ExecutionPlan();
3122   }
3123 
3124   status = xnn_setup_hardswish_nc_f32(
3125     op83,
3126     49 /* batch size */,
3127     v83.data() /* input */, v84.data() /* output */,
3128     threadpool /* threadpool */);
3129   if (status != xnn_status_success) {
3130     std::cerr << "failed to setup operation #83" << std::endl;
3131     return ExecutionPlan();
3132   }
3133 
3134   status = xnn_setup_convolution2d_nhwc_f32(
3135     op84,
3136     1 /* batch size */, 7 /* input height */, 7 /* input width */,
3137     v84.data() /* input */, v85.data() /* output */,
3138     threadpool /* threadpool */);
3139   if (status != xnn_status_success) {
3140     std::cerr << "failed to setup operation #84" << std::endl;
3141     return ExecutionPlan();
3142   }
3143 
3144   status = xnn_setup_hardswish_nc_f32(
3145     op85,
3146     49 /* batch size */,
3147     v85.data() /* input */, v86.data() /* output */,
3148     threadpool /* threadpool */);
3149   if (status != xnn_status_success) {
3150     std::cerr << "failed to setup operation #85" << std::endl;
3151     return ExecutionPlan();
3152   }
3153 
3154   status = xnn_setup_global_average_pooling_nwc_f32(
3155     op86,
3156     1 /* batch size */, 49 /* width */,
3157     v86.data() /* input */, v87.data() /* output */,
3158     threadpool /* threadpool */);
3159   if (status != xnn_status_success) {
3160     std::cerr << "failed to setup operation #86" << std::endl;
3161     return ExecutionPlan();
3162   }
3163 
3164   status = xnn_setup_convolution2d_nhwc_f32(
3165     op87,
3166     1 /* batch size */, 1 /* input height */, 1 /* input width */,
3167     v87.data() /* input */, v88.data() /* output */,
3168     threadpool /* threadpool */);
3169   if (status != xnn_status_success) {
3170     std::cerr << "failed to setup operation #87" << std::endl;
3171     return ExecutionPlan();
3172   }
3173 
3174   status = xnn_setup_convolution2d_nhwc_f32(
3175     op88,
3176     1 /* batch size */, 1 /* input height */, 1 /* input width */,
3177     v88.data() /* input */, v89.data() /* output */,
3178     threadpool /* threadpool */);
3179   if (status != xnn_status_success) {
3180     std::cerr << "failed to setup operation #88" << std::endl;
3181     return ExecutionPlan();
3182   }
3183 
3184   {
3185     const size_t a_shape[] = { 1, 7, 7, 576 };
3186     const size_t b_shape[] = { 1, 1, 1, 576 };
3187     status = xnn_setup_multiply_nd_f32(
3188       op89,
3189       4, a_shape, 4, b_shape,
3190       v86.data() /* a */, v89.data() /* b */, v90.data() /* output */,
3191       threadpool /* threadpool */);
3192   }
3193   if (status != xnn_status_success) {
3194     std::cerr << "failed to setup operation #89" << std::endl;
3195     return ExecutionPlan();
3196   }
3197 
3198   status = xnn_setup_convolution2d_nhwc_f32(
3199     op90,
3200     1 /* batch size */, 7 /* input height */, 7 /* input width */,
3201     v90.data() /* input */, v91.data() /* output */,
3202     threadpool /* threadpool */);
3203   if (status != xnn_status_success) {
3204     std::cerr << "failed to setup operation #90" << std::endl;
3205     return ExecutionPlan();
3206   }
3207 
3208   {
3209     const size_t a_shape[] = { 1, 7, 7, 96 };
3210     const size_t b_shape[] = { 1, 7, 7, 96 };
3211     status = xnn_setup_add_nd_f32(
3212       op91,
3213       4, a_shape, 4, b_shape,
3214       v91.data() /* a */, v82.data() /* b */, v92.data() /* output */,
3215       threadpool /* threadpool */);
3216   }
3217   if (status != xnn_status_success) {
3218     std::cerr << "failed to setup operation #91" << std::endl;
3219     return ExecutionPlan();
3220   }
3221 
3222   status = xnn_setup_convolution2d_nhwc_f32(
3223     op92,
3224     1 /* batch size */, 7 /* input height */, 7 /* input width */,
3225     v92.data() /* input */, v93.data() /* output */,
3226     threadpool /* threadpool */);
3227   if (status != xnn_status_success) {
3228     std::cerr << "failed to setup operation #92" << std::endl;
3229     return ExecutionPlan();
3230   }
3231 
3232   status = xnn_setup_hardswish_nc_f32(
3233     op93,
3234     49 /* batch size */,
3235     v93.data() /* input */, v94.data() /* output */,
3236     threadpool /* threadpool */);
3237   if (status != xnn_status_success) {
3238     std::cerr << "failed to setup operation #93" << std::endl;
3239     return ExecutionPlan();
3240   }
3241 
3242   status = xnn_setup_global_average_pooling_nwc_f32(
3243     op94,
3244     1 /* batch size */, 49 /* width */,
3245     v94.data() /* input */, v95.data() /* output */,
3246     threadpool /* threadpool */);
3247   if (status != xnn_status_success) {
3248     std::cerr << "failed to setup operation #94" << std::endl;
3249     return ExecutionPlan();
3250   }
3251 
3252   status = xnn_setup_convolution2d_nhwc_f32(
3253     op95,
3254     1 /* batch size */, 1 /* input height */, 1 /* input width */,
3255     v95.data() /* input */, v96.data() /* output */,
3256     threadpool /* threadpool */);
3257   if (status != xnn_status_success) {
3258     std::cerr << "failed to setup operation #95" << std::endl;
3259     return ExecutionPlan();
3260   }
3261 
3262   status = xnn_setup_hardswish_nc_f32(
3263     op96,
3264     1 /* batch size */,
3265     v96.data() /* input */, v97.data() /* output */,
3266     threadpool /* threadpool */);
3267   if (status != xnn_status_success) {
3268     std::cerr << "failed to setup operation #96" << std::endl;
3269     return ExecutionPlan();
3270   }
3271 
3272   status = xnn_setup_global_average_pooling_nwc_f32(
3273     op97,
3274     1 /* batch size */, 1 /* width */,
3275     v97.data() /* input */, v98.data() /* output */,
3276     threadpool /* threadpool */);
3277   if (status != xnn_status_success) {
3278     std::cerr << "failed to setup operation #97" << std::endl;
3279     return ExecutionPlan();
3280   }
3281 
3282   status = xnn_setup_convolution2d_nhwc_f32(
3283     op98,
3284     1 /* batch size */, 1 /* input height */, 1 /* input width */,
3285     v98.data() /* input */, v99.data() /* output */,
3286     threadpool /* threadpool */);
3287   if (status != xnn_status_success) {
3288     std::cerr << "failed to setup operation #98" << std::endl;
3289     return ExecutionPlan();
3290   }
3291 
3292   #pragma clang diagnostic push
3293   #pragma clang diagnostic ignored "-Wpessimizing-move"
3294   return operators;
3295   #pragma clang diagnostic pop
3296 }
3297 
3298 }  // namespace models
3299