A generic struct over a type parameter, instantiated at n distinct wrapper types. Forces specializeModule to clone the generic n ways. Scaling null: n scales instantiations of O(1) bodies; ideal specialization cost is O(n).
bucket: specialization · compile mode: target · flags: -target spirv -emit-spirv-directly · default N: 300
Full sub-counter decomposition of compileInner — named leaf timers plus (self) residuals (a parent's time not covered by a named child, e.g. the autodiff transform in linkAndOptimizeIR (self)). Topmost band traces compileInner; hover a band for its phase.
Overall compileInner: 123.7 → 103.4 ms -16.5% (2026-07-30 7c58a326b → 2026-08-29 28c755b09)
Contributors — the mutually-exclusive phase buckets (named leaves + (self) residuals) that tile compileInner; the pp column sums to the overall %. Buckets moving the total by ≥0.2% are listed, the rest fold into the remainder row. Below them, every other reported counter (nested/overlapping, e.g. serialized-module reads — own change only):
| counter | Δ | own % | of total |
|---|---|---|---|
| legalizeExistentialTypeLayout | -15.8 ms | -87.4% | -12.8pp |
| linkAndOptimizeIR (self) | -2.6 ms | -20.6% | -2.1pp |
| generateOutput (self) | -1.7 ms | -7.5% | -1.4pp |
| SemanticChecking | +0.6 ms | +3.1% | +0.5pp |
| specializeModule | -0.5 ms | -2.7% | -0.4pp |
| legalizeResourceTypes | -0.4 ms | -20.0% | -0.3pp |
| (remaining 9 buckets) | -0.0 ms | – | -0.0pp |
| loadBuiltinModule | -5.4 ms | -5.0% | – |
| readSerializedModuleIR | -3.5 ms | -6.4% | – |
Largest day steps (≥5% of the previous day, both directions; bisect with git log <c0>..<c1> -- source/):
| boundary | % vs prev day | commits | top buckets (own %) |
|---|---|---|---|
| 2026-08-04 → 2026-08-05 | -14.0% | 0864e60e6..ff45b15ed | legalizeExistentialTypeLayout -88%, linkAndOptimizeIR (self) -8% |
Run from the slang repo root. This regenerates the sources below and re-runs this workload's measurement; --gen-dir keeps the generated files (they go to a tempdir and are deleted otherwise).
python3 tools/compile-perf/bench.py --slangc /path/to/slangc --only specialization --label repro --gen-dir repro-specialization
the complete compiled source (N = 300), shown in full
// AUTO-GENERATED by perf-suite/workloads.py - do not edit by hand.
RWStructuredBuffer<float> outBuf;
interface IVal { float get(); }
struct V0 : IVal { float get() { return 0.0 + 1.0; } }
struct V1 : IVal { float get() { return 1.0 + 1.0; } }
struct V2 : IVal { float get() { return 2.0 + 1.0; } }
struct V3 : IVal { float get() { return 3.0 + 1.0; } }
struct V4 : IVal { float get() { return 4.0 + 1.0; } }
struct V5 : IVal { float get() { return 5.0 + 1.0; } }
struct V6 : IVal { float get() { return 6.0 + 1.0; } }
struct V7 : IVal { float get() { return 7.0 + 1.0; } }
struct V8 : IVal { float get() { return 8.0 + 1.0; } }
struct V9 : IVal { float get() { return 9.0 + 1.0; } }
struct V10 : IVal { float get() { return 10.0 + 1.0; } }
struct V11 : IVal { float get() { return 11.0 + 1.0; } }
struct V12 : IVal { float get() { return 12.0 + 1.0; } }
struct V13 : IVal { float get() { return 13.0 + 1.0; } }
struct V14 : IVal { float get() { return 14.0 + 1.0; } }
struct V15 : IVal { float get() { return 15.0 + 1.0; } }
struct V16 : IVal { float get() { return 16.0 + 1.0; } }
struct V17 : IVal { float get() { return 17.0 + 1.0; } }
struct V18 : IVal { float get() { return 18.0 + 1.0; } }
struct V19 : IVal { float get() { return 19.0 + 1.0; } }
struct V20 : IVal { float get() { return 20.0 + 1.0; } }
struct V21 : IVal { float get() { return 21.0 + 1.0; } }
struct V22 : IVal { float get() { return 22.0 + 1.0; } }
struct V23 : IVal { float get() { return 23.0 + 1.0; } }
struct V24 : IVal { float get() { return 24.0 + 1.0; } }
struct V25 : IVal { float get() { return 25.0 + 1.0; } }
struct V26 : IVal { float get() { return 26.0 + 1.0; } }
struct V27 : IVal { float get() { return 27.0 + 1.0; } }
struct V28 : IVal { float get() { return 28.0 + 1.0; } }
struct V29 : IVal { float get() { return 29.0 + 1.0; } }
struct V30 : IVal { float get() { return 30.0 + 1.0; } }
struct V31 : IVal { float get() { return 31.0 + 1.0; } }
struct V32 : IVal { float get() { return 32.0 + 1.0; } }
struct V33 : IVal { float get() { return 33.0 + 1.0; } }
struct V34 : IVal { float get() { return 34.0 + 1.0; } }
struct V35 : IVal { float get() { return 35.0 + 1.0; } }
struct V36 : IVal { float get() { return 36.0 + 1.0; } }
struct V37 : IVal { float get() { return 37.0 + 1.0; } }
struct V38 : IVal { float get() { return 38.0 + 1.0; } }
struct V39 : IVal { float get() { return 39.0 + 1.0; } }
struct V40 : IVal { float get() { return 40.0 + 1.0; } }
struct V41 : IVal { float get() { return 41.0 + 1.0; } }
struct V42 : IVal { float get() { return 42.0 + 1.0; } }
struct V43 : IVal { float get() { return 43.0 + 1.0; } }
struct V44 : IVal { float get() { return 44.0 + 1.0; } }
struct V45 : IVal { float get() { return 45.0 + 1.0; } }
struct V46 : IVal { float get() { return 46.0 + 1.0; } }
struct V47 : IVal { float get() { return 47.0 + 1.0; } }
struct V48 : IVal { float get() { return 48.0 + 1.0; } }
struct V49 : IVal { float get() { return 49.0 + 1.0; } }
struct V50 : IVal { float get() { return 50.0 + 1.0; } }
struct V51 : IVal { float get() { return 51.0 + 1.0; } }
struct V52 : IVal { float get() { return 52.0 + 1.0; } }
struct V53 : IVal { float get() { return 53.0 + 1.0; } }
struct V54 : IVal { float get() { return 54.0 + 1.0; } }
struct V55 : IVal { float get() { return 55.0 + 1.0; } }
struct V56 : IVal { float get() { return 56.0 + 1.0; } }
struct V57 : IVal { float get() { return 57.0 + 1.0; } }
struct V58 : IVal { float get() { return 58.0 + 1.0; } }
struct V59 : IVal { float get() { return 59.0 + 1.0; } }
struct V60 : IVal { float get() { return 60.0 + 1.0; } }
struct V61 : IVal { float get() { return 61.0 + 1.0; } }
struct V62 : IVal { float get() { return 62.0 + 1.0; } }
struct V63 : IVal { float get() { return 63.0 + 1.0; } }
struct V64 : IVal { float get() { return 64.0 + 1.0; } }
struct V65 : IVal { float get() { return 65.0 + 1.0; } }
struct V66 : IVal { float get() { return 66.0 + 1.0; } }
struct V67 : IVal { float get() { return 67.0 + 1.0; } }
struct V68 : IVal { float get() { return 68.0 + 1.0; } }
struct V69 : IVal { float get() { return 69.0 + 1.0; } }
struct V70 : IVal { float get() { return 70.0 + 1.0; } }
struct V71 : IVal { float get() { return 71.0 + 1.0; } }
struct V72 : IVal { float get() { return 72.0 + 1.0; } }
struct V73 : IVal { float get() { return 73.0 + 1.0; } }
struct V74 : IVal { float get() { return 74.0 + 1.0; } }
struct V75 : IVal { float get() { return 75.0 + 1.0; } }
struct V76 : IVal { float get() { return 76.0 + 1.0; } }
struct V77 : IVal { float get() { return 77.0 + 1.0; } }
struct V78 : IVal { float get() { return 78.0 + 1.0; } }
struct V79 : IVal { float get() { return 79.0 + 1.0; } }
struct V80 : IVal { float get() { return 80.0 + 1.0; } }
struct V81 : IVal { float get() { return 81.0 + 1.0; } }
struct V82 : IVal { float get() { return 82.0 + 1.0; } }
struct V83 : IVal { float get() { return 83.0 + 1.0; } }
struct V84 : IVal { float get() { return 84.0 + 1.0; } }
struct V85 : IVal { float get() { return 85.0 + 1.0; } }
struct V86 : IVal { float get() { return 86.0 + 1.0; } }
struct V87 : IVal { float get() { return 87.0 + 1.0; } }
struct V88 : IVal { float get() { return 88.0 + 1.0; } }
struct V89 : IVal { float get() { return 89.0 + 1.0; } }
struct V90 : IVal { float get() { return 90.0 + 1.0; } }
struct V91 : IVal { float get() { return 91.0 + 1.0; } }
struct V92 : IVal { float get() { return 92.0 + 1.0; } }
struct V93 : IVal { float get() { return 93.0 + 1.0; } }
struct V94 : IVal { float get() { return 94.0 + 1.0; } }
struct V95 : IVal { float get() { return 95.0 + 1.0; } }
struct V96 : IVal { float get() { return 96.0 + 1.0; } }
struct V97 : IVal { float get() { return 97.0 + 1.0; } }
struct V98 : IVal { float get() { return 98.0 + 1.0; } }
struct V99 : IVal { float get() { return 99.0 + 1.0; } }
struct V100 : IVal { float get() { return 100.0 + 1.0; } }
struct V101 : IVal { float get() { return 101.0 + 1.0; } }
struct V102 : IVal { float get() { return 102.0 + 1.0; } }
struct V103 : IVal { float get() { return 103.0 + 1.0; } }
struct V104 : IVal { float get() { return 104.0 + 1.0; } }
struct V105 : IVal { float get() { return 105.0 + 1.0; } }
struct V106 : IVal { float get() { return 106.0 + 1.0; } }
struct V107 : IVal { float get() { return 107.0 + 1.0; } }
struct V108 : IVal { float get() { return 108.0 + 1.0; } }
struct V109 : IVal { float get() { return 109.0 + 1.0; } }
struct V110 : IVal { float get() { return 110.0 + 1.0; } }
struct V111 : IVal { float get() { return 111.0 + 1.0; } }
struct V112 : IVal { float get() { return 112.0 + 1.0; } }
struct V113 : IVal { float get() { return 113.0 + 1.0; } }
struct V114 : IVal { float get() { return 114.0 + 1.0; } }
struct V115 : IVal { float get() { return 115.0 + 1.0; } }
struct V116 : IVal { float get() { return 116.0 + 1.0; } }
struct V117 : IVal { float get() { return 117.0 + 1.0; } }
struct V118 : IVal { float get() { return 118.0 + 1.0; } }
struct V119 : IVal { float get() { return 119.0 + 1.0; } }
struct V120 : IVal { float get() { return 120.0 + 1.0; } }
struct V121 : IVal { float get() { return 121.0 + 1.0; } }
struct V122 : IVal { float get() { return 122.0 + 1.0; } }
struct V123 : IVal { float get() { return 123.0 + 1.0; } }
struct V124 : IVal { float get() { return 124.0 + 1.0; } }
struct V125 : IVal { float get() { return 125.0 + 1.0; } }
struct V126 : IVal { float get() { return 126.0 + 1.0; } }
struct V127 : IVal { float get() { return 127.0 + 1.0; } }
struct V128 : IVal { float get() { return 128.0 + 1.0; } }
struct V129 : IVal { float get() { return 129.0 + 1.0; } }
struct V130 : IVal { float get() { return 130.0 + 1.0; } }
struct V131 : IVal { float get() { return 131.0 + 1.0; } }
struct V132 : IVal { float get() { return 132.0 + 1.0; } }
struct V133 : IVal { float get() { return 133.0 + 1.0; } }
struct V134 : IVal { float get() { return 134.0 + 1.0; } }
struct V135 : IVal { float get() { return 135.0 + 1.0; } }
struct V136 : IVal { float get() { return 136.0 + 1.0; } }
struct V137 : IVal { float get() { return 137.0 + 1.0; } }
struct V138 : IVal { float get() { return 138.0 + 1.0; } }
struct V139 : IVal { float get() { return 139.0 + 1.0; } }
struct V140 : IVal { float get() { return 140.0 + 1.0; } }
struct V141 : IVal { float get() { return 141.0 + 1.0; } }
struct V142 : IVal { float get() { return 142.0 + 1.0; } }
struct V143 : IVal { float get() { return 143.0 + 1.0; } }
struct V144 : IVal { float get() { return 144.0 + 1.0; } }
struct V145 : IVal { float get() { return 145.0 + 1.0; } }
struct V146 : IVal { float get() { return 146.0 + 1.0; } }
struct V147 : IVal { float get() { return 147.0 + 1.0; } }
struct V148 : IVal { float get() { return 148.0 + 1.0; } }
struct V149 : IVal { float get() { return 149.0 + 1.0; } }
struct V150 : IVal { float get() { return 150.0 + 1.0; } }
struct V151 : IVal { float get() { return 151.0 + 1.0; } }
struct V152 : IVal { float get() { return 152.0 + 1.0; } }
struct V153 : IVal { float get() { return 153.0 + 1.0; } }
struct V154 : IVal { float get() { return 154.0 + 1.0; } }
struct V155 : IVal { float get() { return 155.0 + 1.0; } }
struct V156 : IVal { float get() { return 156.0 + 1.0; } }
struct V157 : IVal { float get() { return 157.0 + 1.0; } }
struct V158 : IVal { float get() { return 158.0 + 1.0; } }
struct V159 : IVal { float get() { return 159.0 + 1.0; } }
struct V160 : IVal { float get() { return 160.0 + 1.0; } }
struct V161 : IVal { float get() { return 161.0 + 1.0; } }
struct V162 : IVal { float get() { return 162.0 + 1.0; } }
struct V163 : IVal { float get() { return 163.0 + 1.0; } }
struct V164 : IVal { float get() { return 164.0 + 1.0; } }
struct V165 : IVal { float get() { return 165.0 + 1.0; } }
struct V166 : IVal { float get() { return 166.0 + 1.0; } }
struct V167 : IVal { float get() { return 167.0 + 1.0; } }
struct V168 : IVal { float get() { return 168.0 + 1.0; } }
struct V169 : IVal { float get() { return 169.0 + 1.0; } }
struct V170 : IVal { float get() { return 170.0 + 1.0; } }
struct V171 : IVal { float get() { return 171.0 + 1.0; } }
struct V172 : IVal { float get() { return 172.0 + 1.0; } }
struct V173 : IVal { float get() { return 173.0 + 1.0; } }
struct V174 : IVal { float get() { return 174.0 + 1.0; } }
struct V175 : IVal { float get() { return 175.0 + 1.0; } }
struct V176 : IVal { float get() { return 176.0 + 1.0; } }
struct V177 : IVal { float get() { return 177.0 + 1.0; } }
struct V178 : IVal { float get() { return 178.0 + 1.0; } }
struct V179 : IVal { float get() { return 179.0 + 1.0; } }
struct V180 : IVal { float get() { return 180.0 + 1.0; } }
struct V181 : IVal { float get() { return 181.0 + 1.0; } }
struct V182 : IVal { float get() { return 182.0 + 1.0; } }
struct V183 : IVal { float get() { return 183.0 + 1.0; } }
struct V184 : IVal { float get() { return 184.0 + 1.0; } }
struct V185 : IVal { float get() { return 185.0 + 1.0; } }
struct V186 : IVal { float get() { return 186.0 + 1.0; } }
struct V187 : IVal { float get() { return 187.0 + 1.0; } }
struct V188 : IVal { float get() { return 188.0 + 1.0; } }
struct V189 : IVal { float get() { return 189.0 + 1.0; } }
struct V190 : IVal { float get() { return 190.0 + 1.0; } }
struct V191 : IVal { float get() { return 191.0 + 1.0; } }
struct V192 : IVal { float get() { return 192.0 + 1.0; } }
struct V193 : IVal { float get() { return 193.0 + 1.0; } }
struct V194 : IVal { float get() { return 194.0 + 1.0; } }
struct V195 : IVal { float get() { return 195.0 + 1.0; } }
struct V196 : IVal { float get() { return 196.0 + 1.0; } }
struct V197 : IVal { float get() { return 197.0 + 1.0; } }
struct V198 : IVal { float get() { return 198.0 + 1.0; } }
struct V199 : IVal { float get() { return 199.0 + 1.0; } }
struct V200 : IVal { float get() { return 200.0 + 1.0; } }
struct V201 : IVal { float get() { return 201.0 + 1.0; } }
struct V202 : IVal { float get() { return 202.0 + 1.0; } }
struct V203 : IVal { float get() { return 203.0 + 1.0; } }
struct V204 : IVal { float get() { return 204.0 + 1.0; } }
struct V205 : IVal { float get() { return 205.0 + 1.0; } }
struct V206 : IVal { float get() { return 206.0 + 1.0; } }
struct V207 : IVal { float get() { return 207.0 + 1.0; } }
struct V208 : IVal { float get() { return 208.0 + 1.0; } }
struct V209 : IVal { float get() { return 209.0 + 1.0; } }
struct V210 : IVal { float get() { return 210.0 + 1.0; } }
struct V211 : IVal { float get() { return 211.0 + 1.0; } }
struct V212 : IVal { float get() { return 212.0 + 1.0; } }
struct V213 : IVal { float get() { return 213.0 + 1.0; } }
struct V214 : IVal { float get() { return 214.0 + 1.0; } }
struct V215 : IVal { float get() { return 215.0 + 1.0; } }
struct V216 : IVal { float get() { return 216.0 + 1.0; } }
struct V217 : IVal { float get() { return 217.0 + 1.0; } }
struct V218 : IVal { float get() { return 218.0 + 1.0; } }
struct V219 : IVal { float get() { return 219.0 + 1.0; } }
struct V220 : IVal { float get() { return 220.0 + 1.0; } }
struct V221 : IVal { float get() { return 221.0 + 1.0; } }
struct V222 : IVal { float get() { return 222.0 + 1.0; } }
struct V223 : IVal { float get() { return 223.0 + 1.0; } }
struct V224 : IVal { float get() { return 224.0 + 1.0; } }
struct V225 : IVal { float get() { return 225.0 + 1.0; } }
struct V226 : IVal { float get() { return 226.0 + 1.0; } }
struct V227 : IVal { float get() { return 227.0 + 1.0; } }
struct V228 : IVal { float get() { return 228.0 + 1.0; } }
struct V229 : IVal { float get() { return 229.0 + 1.0; } }
struct V230 : IVal { float get() { return 230.0 + 1.0; } }
struct V231 : IVal { float get() { return 231.0 + 1.0; } }
struct V232 : IVal { float get() { return 232.0 + 1.0; } }
struct V233 : IVal { float get() { return 233.0 + 1.0; } }
struct V234 : IVal { float get() { return 234.0 + 1.0; } }
struct V235 : IVal { float get() { return 235.0 + 1.0; } }
struct V236 : IVal { float get() { return 236.0 + 1.0; } }
struct V237 : IVal { float get() { return 237.0 + 1.0; } }
struct V238 : IVal { float get() { return 238.0 + 1.0; } }
struct V239 : IVal { float get() { return 239.0 + 1.0; } }
struct V240 : IVal { float get() { return 240.0 + 1.0; } }
struct V241 : IVal { float get() { return 241.0 + 1.0; } }
struct V242 : IVal { float get() { return 242.0 + 1.0; } }
struct V243 : IVal { float get() { return 243.0 + 1.0; } }
struct V244 : IVal { float get() { return 244.0 + 1.0; } }
struct V245 : IVal { float get() { return 245.0 + 1.0; } }
struct V246 : IVal { float get() { return 246.0 + 1.0; } }
struct V247 : IVal { float get() { return 247.0 + 1.0; } }
struct V248 : IVal { float get() { return 248.0 + 1.0; } }
struct V249 : IVal { float get() { return 249.0 + 1.0; } }
struct V250 : IVal { float get() { return 250.0 + 1.0; } }
struct V251 : IVal { float get() { return 251.0 + 1.0; } }
struct V252 : IVal { float get() { return 252.0 + 1.0; } }
struct V253 : IVal { float get() { return 253.0 + 1.0; } }
struct V254 : IVal { float get() { return 254.0 + 1.0; } }
struct V255 : IVal { float get() { return 255.0 + 1.0; } }
struct V256 : IVal { float get() { return 256.0 + 1.0; } }
struct V257 : IVal { float get() { return 257.0 + 1.0; } }
struct V258 : IVal { float get() { return 258.0 + 1.0; } }
struct V259 : IVal { float get() { return 259.0 + 1.0; } }
struct V260 : IVal { float get() { return 260.0 + 1.0; } }
struct V261 : IVal { float get() { return 261.0 + 1.0; } }
struct V262 : IVal { float get() { return 262.0 + 1.0; } }
struct V263 : IVal { float get() { return 263.0 + 1.0; } }
struct V264 : IVal { float get() { return 264.0 + 1.0; } }
struct V265 : IVal { float get() { return 265.0 + 1.0; } }
struct V266 : IVal { float get() { return 266.0 + 1.0; } }
struct V267 : IVal { float get() { return 267.0 + 1.0; } }
struct V268 : IVal { float get() { return 268.0 + 1.0; } }
struct V269 : IVal { float get() { return 269.0 + 1.0; } }
struct V270 : IVal { float get() { return 270.0 + 1.0; } }
struct V271 : IVal { float get() { return 271.0 + 1.0; } }
struct V272 : IVal { float get() { return 272.0 + 1.0; } }
struct V273 : IVal { float get() { return 273.0 + 1.0; } }
struct V274 : IVal { float get() { return 274.0 + 1.0; } }
struct V275 : IVal { float get() { return 275.0 + 1.0; } }
struct V276 : IVal { float get() { return 276.0 + 1.0; } }
struct V277 : IVal { float get() { return 277.0 + 1.0; } }
struct V278 : IVal { float get() { return 278.0 + 1.0; } }
struct V279 : IVal { float get() { return 279.0 + 1.0; } }
struct V280 : IVal { float get() { return 280.0 + 1.0; } }
struct V281 : IVal { float get() { return 281.0 + 1.0; } }
struct V282 : IVal { float get() { return 282.0 + 1.0; } }
struct V283 : IVal { float get() { return 283.0 + 1.0; } }
struct V284 : IVal { float get() { return 284.0 + 1.0; } }
struct V285 : IVal { float get() { return 285.0 + 1.0; } }
struct V286 : IVal { float get() { return 286.0 + 1.0; } }
struct V287 : IVal { float get() { return 287.0 + 1.0; } }
struct V288 : IVal { float get() { return 288.0 + 1.0; } }
struct V289 : IVal { float get() { return 289.0 + 1.0; } }
struct V290 : IVal { float get() { return 290.0 + 1.0; } }
struct V291 : IVal { float get() { return 291.0 + 1.0; } }
struct V292 : IVal { float get() { return 292.0 + 1.0; } }
struct V293 : IVal { float get() { return 293.0 + 1.0; } }
struct V294 : IVal { float get() { return 294.0 + 1.0; } }
struct V295 : IVal { float get() { return 295.0 + 1.0; } }
struct V296 : IVal { float get() { return 296.0 + 1.0; } }
struct V297 : IVal { float get() { return 297.0 + 1.0; } }
struct V298 : IVal { float get() { return 298.0 + 1.0; } }
struct V299 : IVal { float get() { return 299.0 + 1.0; } }
struct Box<T : IVal> { T v; float compute() { return v.get() * 2.0 + v.get(); } }
[shader("compute")]
[numthreads(1,1,1)]
void computeMain()
{
float acc = 0.0;
{ Box<V0> b; acc += b.compute(); }
{ Box<V1> b; acc += b.compute(); }
{ Box<V2> b; acc += b.compute(); }
{ Box<V3> b; acc += b.compute(); }
{ Box<V4> b; acc += b.compute(); }
{ Box<V5> b; acc += b.compute(); }
{ Box<V6> b; acc += b.compute(); }
{ Box<V7> b; acc += b.compute(); }
{ Box<V8> b; acc += b.compute(); }
{ Box<V9> b; acc += b.compute(); }
{ Box<V10> b; acc += b.compute(); }
{ Box<V11> b; acc += b.compute(); }
{ Box<V12> b; acc += b.compute(); }
{ Box<V13> b; acc += b.compute(); }
{ Box<V14> b; acc += b.compute(); }
{ Box<V15> b; acc += b.compute(); }
{ Box<V16> b; acc += b.compute(); }
{ Box<V17> b; acc += b.compute(); }
{ Box<V18> b; acc += b.compute(); }
{ Box<V19> b; acc += b.compute(); }
{ Box<V20> b; acc += b.compute(); }
{ Box<V21> b; acc += b.compute(); }
{ Box<V22> b; acc += b.compute(); }
{ Box<V23> b; acc += b.compute(); }
{ Box<V24> b; acc += b.compute(); }
{ Box<V25> b; acc += b.compute(); }
{ Box<V26> b; acc += b.compute(); }
{ Box<V27> b; acc += b.compute(); }
{ Box<V28> b; acc += b.compute(); }
{ Box<V29> b; acc += b.compute(); }
{ Box<V30> b; acc += b.compute(); }
{ Box<V31> b; acc += b.compute(); }
{ Box<V32> b; acc += b.compute(); }
{ Box<V33> b; acc += b.compute(); }
{ Box<V34> b; acc += b.compute(); }
{ Box<V35> b; acc += b.compute(); }
{ Box<V36> b; acc += b.compute(); }
{ Box<V37> b; acc += b.compute(); }
{ Box<V38> b; acc += b.compute(); }
{ Box<V39> b; acc += b.compute(); }
{ Box<V40> b; acc += b.compute(); }
{ Box<V41> b; acc += b.compute(); }
{ Box<V42> b; acc += b.compute(); }
{ Box<V43> b; acc += b.compute(); }
{ Box<V44> b; acc += b.compute(); }
{ Box<V45> b; acc += b.compute(); }
{ Box<V46> b; acc += b.compute(); }
{ Box<V47> b; acc += b.compute(); }
{ Box<V48> b; acc += b.compute(); }
{ Box<V49> b; acc += b.compute(); }
{ Box<V50> b; acc += b.compute(); }
{ Box<V51> b; acc += b.compute(); }
{ Box<V52> b; acc += b.compute(); }
{ Box<V53> b; acc += b.compute(); }
{ Box<V54> b; acc += b.compute(); }
{ Box<V55> b; acc += b.compute(); }
{ Box<V56> b; acc += b.compute(); }
{ Box<V57> b; acc += b.compute(); }
{ Box<V58> b; acc += b.compute(); }
{ Box<V59> b; acc += b.compute(); }
{ Box<V60> b; acc += b.compute(); }
{ Box<V61> b; acc += b.compute(); }
{ Box<V62> b; acc += b.compute(); }
{ Box<V63> b; acc += b.compute(); }
{ Box<V64> b; acc += b.compute(); }
{ Box<V65> b; acc += b.compute(); }
{ Box<V66> b; acc += b.compute(); }
{ Box<V67> b; acc += b.compute(); }
{ Box<V68> b; acc += b.compute(); }
{ Box<V69> b; acc += b.compute(); }
{ Box<V70> b; acc += b.compute(); }
{ Box<V71> b; acc += b.compute(); }
{ Box<V72> b; acc += b.compute(); }
{ Box<V73> b; acc += b.compute(); }
{ Box<V74> b; acc += b.compute(); }
{ Box<V75> b; acc += b.compute(); }
{ Box<V76> b; acc += b.compute(); }
{ Box<V77> b; acc += b.compute(); }
{ Box<V78> b; acc += b.compute(); }
{ Box<V79> b; acc += b.compute(); }
{ Box<V80> b; acc += b.compute(); }
{ Box<V81> b; acc += b.compute(); }
{ Box<V82> b; acc += b.compute(); }
{ Box<V83> b; acc += b.compute(); }
{ Box<V84> b; acc += b.compute(); }
{ Box<V85> b; acc += b.compute(); }
{ Box<V86> b; acc += b.compute(); }
{ Box<V87> b; acc += b.compute(); }
{ Box<V88> b; acc += b.compute(); }
{ Box<V89> b; acc += b.compute(); }
{ Box<V90> b; acc += b.compute(); }
{ Box<V91> b; acc += b.compute(); }
{ Box<V92> b; acc += b.compute(); }
{ Box<V93> b; acc += b.compute(); }
{ Box<V94> b; acc += b.compute(); }
{ Box<V95> b; acc += b.compute(); }
{ Box<V96> b; acc += b.compute(); }
{ Box<V97> b; acc += b.compute(); }
{ Box<V98> b; acc += b.compute(); }
{ Box<V99> b; acc += b.compute(); }
{ Box<V100> b; acc += b.compute(); }
{ Box<V101> b; acc += b.compute(); }
{ Box<V102> b; acc += b.compute(); }
{ Box<V103> b; acc += b.compute(); }
{ Box<V104> b; acc += b.compute(); }
{ Box<V105> b; acc += b.compute(); }
{ Box<V106> b; acc += b.compute(); }
{ Box<V107> b; acc += b.compute(); }
{ Box<V108> b; acc += b.compute(); }
{ Box<V109> b; acc += b.compute(); }
{ Box<V110> b; acc += b.compute(); }
{ Box<V111> b; acc += b.compute(); }
{ Box<V112> b; acc += b.compute(); }
{ Box<V113> b; acc += b.compute(); }
{ Box<V114> b; acc += b.compute(); }
{ Box<V115> b; acc += b.compute(); }
{ Box<V116> b; acc += b.compute(); }
{ Box<V117> b; acc += b.compute(); }
{ Box<V118> b; acc += b.compute(); }
{ Box<V119> b; acc += b.compute(); }
{ Box<V120> b; acc += b.compute(); }
{ Box<V121> b; acc += b.compute(); }
{ Box<V122> b; acc += b.compute(); }
{ Box<V123> b; acc += b.compute(); }
{ Box<V124> b; acc += b.compute(); }
{ Box<V125> b; acc += b.compute(); }
{ Box<V126> b; acc += b.compute(); }
{ Box<V127> b; acc += b.compute(); }
{ Box<V128> b; acc += b.compute(); }
{ Box<V129> b; acc += b.compute(); }
{ Box<V130> b; acc += b.compute(); }
{ Box<V131> b; acc += b.compute(); }
{ Box<V132> b; acc += b.compute(); }
{ Box<V133> b; acc += b.compute(); }
{ Box<V134> b; acc += b.compute(); }
{ Box<V135> b; acc += b.compute(); }
{ Box<V136> b; acc += b.compute(); }
{ Box<V137> b; acc += b.compute(); }
{ Box<V138> b; acc += b.compute(); }
{ Box<V139> b; acc += b.compute(); }
{ Box<V140> b; acc += b.compute(); }
{ Box<V141> b; acc += b.compute(); }
{ Box<V142> b; acc += b.compute(); }
{ Box<V143> b; acc += b.compute(); }
{ Box<V144> b; acc += b.compute(); }
{ Box<V145> b; acc += b.compute(); }
{ Box<V146> b; acc += b.compute(); }
{ Box<V147> b; acc += b.compute(); }
{ Box<V148> b; acc += b.compute(); }
{ Box<V149> b; acc += b.compute(); }
{ Box<V150> b; acc += b.compute(); }
{ Box<V151> b; acc += b.compute(); }
{ Box<V152> b; acc += b.compute(); }
{ Box<V153> b; acc += b.compute(); }
{ Box<V154> b; acc += b.compute(); }
{ Box<V155> b; acc += b.compute(); }
{ Box<V156> b; acc += b.compute(); }
{ Box<V157> b; acc += b.compute(); }
{ Box<V158> b; acc += b.compute(); }
{ Box<V159> b; acc += b.compute(); }
{ Box<V160> b; acc += b.compute(); }
{ Box<V161> b; acc += b.compute(); }
{ Box<V162> b; acc += b.compute(); }
{ Box<V163> b; acc += b.compute(); }
{ Box<V164> b; acc += b.compute(); }
{ Box<V165> b; acc += b.compute(); }
{ Box<V166> b; acc += b.compute(); }
{ Box<V167> b; acc += b.compute(); }
{ Box<V168> b; acc += b.compute(); }
{ Box<V169> b; acc += b.compute(); }
{ Box<V170> b; acc += b.compute(); }
{ Box<V171> b; acc += b.compute(); }
{ Box<V172> b; acc += b.compute(); }
{ Box<V173> b; acc += b.compute(); }
{ Box<V174> b; acc += b.compute(); }
{ Box<V175> b; acc += b.compute(); }
{ Box<V176> b; acc += b.compute(); }
{ Box<V177> b; acc += b.compute(); }
{ Box<V178> b; acc += b.compute(); }
{ Box<V179> b; acc += b.compute(); }
{ Box<V180> b; acc += b.compute(); }
{ Box<V181> b; acc += b.compute(); }
{ Box<V182> b; acc += b.compute(); }
{ Box<V183> b; acc += b.compute(); }
{ Box<V184> b; acc += b.compute(); }
{ Box<V185> b; acc += b.compute(); }
{ Box<V186> b; acc += b.compute(); }
{ Box<V187> b; acc += b.compute(); }
{ Box<V188> b; acc += b.compute(); }
{ Box<V189> b; acc += b.compute(); }
{ Box<V190> b; acc += b.compute(); }
{ Box<V191> b; acc += b.compute(); }
{ Box<V192> b; acc += b.compute(); }
{ Box<V193> b; acc += b.compute(); }
{ Box<V194> b; acc += b.compute(); }
{ Box<V195> b; acc += b.compute(); }
{ Box<V196> b; acc += b.compute(); }
{ Box<V197> b; acc += b.compute(); }
{ Box<V198> b; acc += b.compute(); }
{ Box<V199> b; acc += b.compute(); }
{ Box<V200> b; acc += b.compute(); }
{ Box<V201> b; acc += b.compute(); }
{ Box<V202> b; acc += b.compute(); }
{ Box<V203> b; acc += b.compute(); }
{ Box<V204> b; acc += b.compute(); }
{ Box<V205> b; acc += b.compute(); }
{ Box<V206> b; acc += b.compute(); }
{ Box<V207> b; acc += b.compute(); }
{ Box<V208> b; acc += b.compute(); }
{ Box<V209> b; acc += b.compute(); }
{ Box<V210> b; acc += b.compute(); }
{ Box<V211> b; acc += b.compute(); }
{ Box<V212> b; acc += b.compute(); }
{ Box<V213> b; acc += b.compute(); }
{ Box<V214> b; acc += b.compute(); }
{ Box<V215> b; acc += b.compute(); }
{ Box<V216> b; acc += b.compute(); }
{ Box<V217> b; acc += b.compute(); }
{ Box<V218> b; acc += b.compute(); }
{ Box<V219> b; acc += b.compute(); }
{ Box<V220> b; acc += b.compute(); }
{ Box<V221> b; acc += b.compute(); }
{ Box<V222> b; acc += b.compute(); }
{ Box<V223> b; acc += b.compute(); }
{ Box<V224> b; acc += b.compute(); }
{ Box<V225> b; acc += b.compute(); }
{ Box<V226> b; acc += b.compute(); }
{ Box<V227> b; acc += b.compute(); }
{ Box<V228> b; acc += b.compute(); }
{ Box<V229> b; acc += b.compute(); }
{ Box<V230> b; acc += b.compute(); }
{ Box<V231> b; acc += b.compute(); }
{ Box<V232> b; acc += b.compute(); }
{ Box<V233> b; acc += b.compute(); }
{ Box<V234> b; acc += b.compute(); }
{ Box<V235> b; acc += b.compute(); }
{ Box<V236> b; acc += b.compute(); }
{ Box<V237> b; acc += b.compute(); }
{ Box<V238> b; acc += b.compute(); }
{ Box<V239> b; acc += b.compute(); }
{ Box<V240> b; acc += b.compute(); }
{ Box<V241> b; acc += b.compute(); }
{ Box<V242> b; acc += b.compute(); }
{ Box<V243> b; acc += b.compute(); }
{ Box<V244> b; acc += b.compute(); }
{ Box<V245> b; acc += b.compute(); }
{ Box<V246> b; acc += b.compute(); }
{ Box<V247> b; acc += b.compute(); }
{ Box<V248> b; acc += b.compute(); }
{ Box<V249> b; acc += b.compute(); }
{ Box<V250> b; acc += b.compute(); }
{ Box<V251> b; acc += b.compute(); }
{ Box<V252> b; acc += b.compute(); }
{ Box<V253> b; acc += b.compute(); }
{ Box<V254> b; acc += b.compute(); }
{ Box<V255> b; acc += b.compute(); }
{ Box<V256> b; acc += b.compute(); }
{ Box<V257> b; acc += b.compute(); }
{ Box<V258> b; acc += b.compute(); }
{ Box<V259> b; acc += b.compute(); }
{ Box<V260> b; acc += b.compute(); }
{ Box<V261> b; acc += b.compute(); }
{ Box<V262> b; acc += b.compute(); }
{ Box<V263> b; acc += b.compute(); }
{ Box<V264> b; acc += b.compute(); }
{ Box<V265> b; acc += b.compute(); }
{ Box<V266> b; acc += b.compute(); }
{ Box<V267> b; acc += b.compute(); }
{ Box<V268> b; acc += b.compute(); }
{ Box<V269> b; acc += b.compute(); }
{ Box<V270> b; acc += b.compute(); }
{ Box<V271> b; acc += b.compute(); }
{ Box<V272> b; acc += b.compute(); }
{ Box<V273> b; acc += b.compute(); }
{ Box<V274> b; acc += b.compute(); }
{ Box<V275> b; acc += b.compute(); }
{ Box<V276> b; acc += b.compute(); }
{ Box<V277> b; acc += b.compute(); }
{ Box<V278> b; acc += b.compute(); }
{ Box<V279> b; acc += b.compute(); }
{ Box<V280> b; acc += b.compute(); }
{ Box<V281> b; acc += b.compute(); }
{ Box<V282> b; acc += b.compute(); }
{ Box<V283> b; acc += b.compute(); }
{ Box<V284> b; acc += b.compute(); }
{ Box<V285> b; acc += b.compute(); }
{ Box<V286> b; acc += b.compute(); }
{ Box<V287> b; acc += b.compute(); }
{ Box<V288> b; acc += b.compute(); }
{ Box<V289> b; acc += b.compute(); }
{ Box<V290> b; acc += b.compute(); }
{ Box<V291> b; acc += b.compute(); }
{ Box<V292> b; acc += b.compute(); }
{ Box<V293> b; acc += b.compute(); }
{ Box<V294> b; acc += b.compute(); }
{ Box<V295> b; acc += b.compute(); }
{ Box<V296> b; acc += b.compute(); }
{ Box<V297> b; acc += b.compute(); }
{ Box<V298> b; acc += b.compute(); }
{ Box<V299> b; acc += b.compute(); }
outBuf[0] = acc;
}