← back

diagnostics_clean

N functions with distinct compile-time constants, no errors. Scaling null: n scales independent declarations; ideal cost is O(n).

bucket: diagnostics  ·  compile mode: target  ·  flags: -target spirv -emit-spirv-directly  ·  default N: 400

Phase composition across releases

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.

Across releases

diagnostics_clean — Across releases (median ms) diagnostics_clean 0.74× 0.0 45 90 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 diagnostics_clean — parseTranslationUnit diagnostics_clean — SemanticChecking diagnostics_clean — generateIR diagnostics_clean — frontEndExecute (self) diagnostics_clean — specializeModule diagnostics_clean — simplifyIR diagnostics_clean — linkIR diagnostics_clean — unrollLoopsInModule diagnostics_clean — legalizeResourceTypes diagnostics_clean — legalizeExistentialTypeLayout diagnostics_clean — performMandatoryEarlyInlining diagnostics_clean — performForceInlining diagnostics_clean — linkAndOptimizeIR (self) diagnostics_clean — generateOutput (self) diagnostics_clean — compileInner (self) phase buckets parseTranslationUnit SemanticChecking generateIR frontEndExecute (self) specializeModule simplifyIR linkIR unrollLoopsInModule legalizeResourceTypes legalizeExistentialTypeLayout performMandatoryEarlyInlining performForceInlining linkAndOptimizeIR (self) emitEntryPointsSourceFromIR generateOutput (self) compileInner (self)

Daily tip-of-tree (last 30 days)

diagnostics_clean — Daily tip-of-tree (last 30 days) (median ms) diagnostics_clean 1.00× 0.0 13 25 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 diagnostics_clean — parseTranslationUnit diagnostics_clean — SemanticChecking diagnostics_clean — generateIR diagnostics_clean — frontEndExecute (self) diagnostics_clean — specializeModule diagnostics_clean — simplifyIR diagnostics_clean — linkIR diagnostics_clean — legalizeResourceTypes diagnostics_clean — legalizeExistentialTypeLayout diagnostics_clean — performMandatoryEarlyInlining diagnostics_clean — linkAndOptimizeIR (self) diagnostics_clean — generateOutput (self) diagnostics_clean — compileInner (self) phase buckets parseTranslationUnit SemanticChecking generateIR frontEndExecute (self) specializeModule simplifyIR linkIR unrollLoopsInModule legalizeResourceTypes legalizeExistentialTypeLayout performMandatoryEarlyInlining performForceInlining linkAndOptimizeIR (self) emitEntryPointsSourceFromIR generateOutput (self) compileInner (self)

Daily window progress

Overall compileInner: 23.0 → 22.9 ms  -0.3%  (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
generateOutput (self)+0.3 ms+13.2%+1.2pp
SemanticChecking+0.2 ms+2.2%+1.0pp
compileInner (self)-0.2 ms-64.3%-0.8pp
frontEndExecute (self)-0.2 ms-64.3%-0.8pp
generateIR-0.1 ms-2.0%-0.7pp
linkAndOptimizeIR (self)-0.1 ms-23.8%-0.2pp
(remaining 7 buckets)-0.0 ms-0.0pp
readSerializedModuleAST+3.2 ms+10.2%
readSerializedModuleIR-1.7 ms-3.1%

Largest day steps (≥5% of the previous day, both directions; bisect with git log <c0>..<c1> -- source/):

boundary% vs prev daycommitstop buckets (own %)
none

Reproduce

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 diagnostics_clean --label repro --gen-dir repro-diagnostics_clean

Compiled Slang source

the complete compiled source (N = 400), shown in full

diagnostics_clean.slang (812 lines)

// AUTO-GENERATED by perf-suite/workloads.py - do not edit by hand.
RWStructuredBuffer<float> outBuf;

static const float k_0 = 0.0;
float ok_0(float x) { return x + k_0 * 1.0; }
static const float k_1 = 1.0;
float ok_1(float x) { return x + k_1 * 2.0; }
static const float k_2 = 2.0;
float ok_2(float x) { return x + k_2 * 3.0; }
static const float k_3 = 3.0;
float ok_3(float x) { return x + k_3 * 4.0; }
static const float k_4 = 4.0;
float ok_4(float x) { return x + k_4 * 5.0; }
static const float k_5 = 5.0;
float ok_5(float x) { return x + k_5 * 1.0; }
static const float k_6 = 6.0;
float ok_6(float x) { return x + k_6 * 2.0; }
static const float k_7 = 0.0;
float ok_7(float x) { return x + k_7 * 3.0; }
static const float k_8 = 1.0;
float ok_8(float x) { return x + k_8 * 4.0; }
static const float k_9 = 2.0;
float ok_9(float x) { return x + k_9 * 5.0; }
static const float k_10 = 3.0;
float ok_10(float x) { return x + k_10 * 1.0; }
static const float k_11 = 4.0;
float ok_11(float x) { return x + k_11 * 2.0; }
static const float k_12 = 5.0;
float ok_12(float x) { return x + k_12 * 3.0; }
static const float k_13 = 6.0;
float ok_13(float x) { return x + k_13 * 4.0; }
static const float k_14 = 0.0;
float ok_14(float x) { return x + k_14 * 5.0; }
static const float k_15 = 1.0;
float ok_15(float x) { return x + k_15 * 1.0; }
static const float k_16 = 2.0;
float ok_16(float x) { return x + k_16 * 2.0; }
static const float k_17 = 3.0;
float ok_17(float x) { return x + k_17 * 3.0; }
static const float k_18 = 4.0;
float ok_18(float x) { return x + k_18 * 4.0; }
static const float k_19 = 5.0;
float ok_19(float x) { return x + k_19 * 5.0; }
static const float k_20 = 6.0;
float ok_20(float x) { return x + k_20 * 1.0; }
static const float k_21 = 0.0;
float ok_21(float x) { return x + k_21 * 2.0; }
static const float k_22 = 1.0;
float ok_22(float x) { return x + k_22 * 3.0; }
static const float k_23 = 2.0;
float ok_23(float x) { return x + k_23 * 4.0; }
static const float k_24 = 3.0;
float ok_24(float x) { return x + k_24 * 5.0; }
static const float k_25 = 4.0;
float ok_25(float x) { return x + k_25 * 1.0; }
static const float k_26 = 5.0;
float ok_26(float x) { return x + k_26 * 2.0; }
static const float k_27 = 6.0;
float ok_27(float x) { return x + k_27 * 3.0; }
static const float k_28 = 0.0;
float ok_28(float x) { return x + k_28 * 4.0; }
static const float k_29 = 1.0;
float ok_29(float x) { return x + k_29 * 5.0; }
static const float k_30 = 2.0;
float ok_30(float x) { return x + k_30 * 1.0; }
static const float k_31 = 3.0;
float ok_31(float x) { return x + k_31 * 2.0; }
static const float k_32 = 4.0;
float ok_32(float x) { return x + k_32 * 3.0; }
static const float k_33 = 5.0;
float ok_33(float x) { return x + k_33 * 4.0; }
static const float k_34 = 6.0;
float ok_34(float x) { return x + k_34 * 5.0; }
static const float k_35 = 0.0;
float ok_35(float x) { return x + k_35 * 1.0; }
static const float k_36 = 1.0;
float ok_36(float x) { return x + k_36 * 2.0; }
static const float k_37 = 2.0;
float ok_37(float x) { return x + k_37 * 3.0; }
static const float k_38 = 3.0;
float ok_38(float x) { return x + k_38 * 4.0; }
static const float k_39 = 4.0;
float ok_39(float x) { return x + k_39 * 5.0; }
static const float k_40 = 5.0;
float ok_40(float x) { return x + k_40 * 1.0; }
static const float k_41 = 6.0;
float ok_41(float x) { return x + k_41 * 2.0; }
static const float k_42 = 0.0;
float ok_42(float x) { return x + k_42 * 3.0; }
static const float k_43 = 1.0;
float ok_43(float x) { return x + k_43 * 4.0; }
static const float k_44 = 2.0;
float ok_44(float x) { return x + k_44 * 5.0; }
static const float k_45 = 3.0;
float ok_45(float x) { return x + k_45 * 1.0; }
static const float k_46 = 4.0;
float ok_46(float x) { return x + k_46 * 2.0; }
static const float k_47 = 5.0;
float ok_47(float x) { return x + k_47 * 3.0; }
static const float k_48 = 6.0;
float ok_48(float x) { return x + k_48 * 4.0; }
static const float k_49 = 0.0;
float ok_49(float x) { return x + k_49 * 5.0; }
static const float k_50 = 1.0;
float ok_50(float x) { return x + k_50 * 1.0; }
static const float k_51 = 2.0;
float ok_51(float x) { return x + k_51 * 2.0; }
static const float k_52 = 3.0;
float ok_52(float x) { return x + k_52 * 3.0; }
static const float k_53 = 4.0;
float ok_53(float x) { return x + k_53 * 4.0; }
static const float k_54 = 5.0;
float ok_54(float x) { return x + k_54 * 5.0; }
static const float k_55 = 6.0;
float ok_55(float x) { return x + k_55 * 1.0; }
static const float k_56 = 0.0;
float ok_56(float x) { return x + k_56 * 2.0; }
static const float k_57 = 1.0;
float ok_57(float x) { return x + k_57 * 3.0; }
static const float k_58 = 2.0;
float ok_58(float x) { return x + k_58 * 4.0; }
static const float k_59 = 3.0;
float ok_59(float x) { return x + k_59 * 5.0; }
static const float k_60 = 4.0;
float ok_60(float x) { return x + k_60 * 1.0; }
static const float k_61 = 5.0;
float ok_61(float x) { return x + k_61 * 2.0; }
static const float k_62 = 6.0;
float ok_62(float x) { return x + k_62 * 3.0; }
static const float k_63 = 0.0;
float ok_63(float x) { return x + k_63 * 4.0; }
static const float k_64 = 1.0;
float ok_64(float x) { return x + k_64 * 5.0; }
static const float k_65 = 2.0;
float ok_65(float x) { return x + k_65 * 1.0; }
static const float k_66 = 3.0;
float ok_66(float x) { return x + k_66 * 2.0; }
static const float k_67 = 4.0;
float ok_67(float x) { return x + k_67 * 3.0; }
static const float k_68 = 5.0;
float ok_68(float x) { return x + k_68 * 4.0; }
static const float k_69 = 6.0;
float ok_69(float x) { return x + k_69 * 5.0; }
static const float k_70 = 0.0;
float ok_70(float x) { return x + k_70 * 1.0; }
static const float k_71 = 1.0;
float ok_71(float x) { return x + k_71 * 2.0; }
static const float k_72 = 2.0;
float ok_72(float x) { return x + k_72 * 3.0; }
static const float k_73 = 3.0;
float ok_73(float x) { return x + k_73 * 4.0; }
static const float k_74 = 4.0;
float ok_74(float x) { return x + k_74 * 5.0; }
static const float k_75 = 5.0;
float ok_75(float x) { return x + k_75 * 1.0; }
static const float k_76 = 6.0;
float ok_76(float x) { return x + k_76 * 2.0; }
static const float k_77 = 0.0;
float ok_77(float x) { return x + k_77 * 3.0; }
static const float k_78 = 1.0;
float ok_78(float x) { return x + k_78 * 4.0; }
static const float k_79 = 2.0;
float ok_79(float x) { return x + k_79 * 5.0; }
static const float k_80 = 3.0;
float ok_80(float x) { return x + k_80 * 1.0; }
static const float k_81 = 4.0;
float ok_81(float x) { return x + k_81 * 2.0; }
static const float k_82 = 5.0;
float ok_82(float x) { return x + k_82 * 3.0; }
static const float k_83 = 6.0;
float ok_83(float x) { return x + k_83 * 4.0; }
static const float k_84 = 0.0;
float ok_84(float x) { return x + k_84 * 5.0; }
static const float k_85 = 1.0;
float ok_85(float x) { return x + k_85 * 1.0; }
static const float k_86 = 2.0;
float ok_86(float x) { return x + k_86 * 2.0; }
static const float k_87 = 3.0;
float ok_87(float x) { return x + k_87 * 3.0; }
static const float k_88 = 4.0;
float ok_88(float x) { return x + k_88 * 4.0; }
static const float k_89 = 5.0;
float ok_89(float x) { return x + k_89 * 5.0; }
static const float k_90 = 6.0;
float ok_90(float x) { return x + k_90 * 1.0; }
static const float k_91 = 0.0;
float ok_91(float x) { return x + k_91 * 2.0; }
static const float k_92 = 1.0;
float ok_92(float x) { return x + k_92 * 3.0; }
static const float k_93 = 2.0;
float ok_93(float x) { return x + k_93 * 4.0; }
static const float k_94 = 3.0;
float ok_94(float x) { return x + k_94 * 5.0; }
static const float k_95 = 4.0;
float ok_95(float x) { return x + k_95 * 1.0; }
static const float k_96 = 5.0;
float ok_96(float x) { return x + k_96 * 2.0; }
static const float k_97 = 6.0;
float ok_97(float x) { return x + k_97 * 3.0; }
static const float k_98 = 0.0;
float ok_98(float x) { return x + k_98 * 4.0; }
static const float k_99 = 1.0;
float ok_99(float x) { return x + k_99 * 5.0; }
static const float k_100 = 2.0;
float ok_100(float x) { return x + k_100 * 1.0; }
static const float k_101 = 3.0;
float ok_101(float x) { return x + k_101 * 2.0; }
static const float k_102 = 4.0;
float ok_102(float x) { return x + k_102 * 3.0; }
static const float k_103 = 5.0;
float ok_103(float x) { return x + k_103 * 4.0; }
static const float k_104 = 6.0;
float ok_104(float x) { return x + k_104 * 5.0; }
static const float k_105 = 0.0;
float ok_105(float x) { return x + k_105 * 1.0; }
static const float k_106 = 1.0;
float ok_106(float x) { return x + k_106 * 2.0; }
static const float k_107 = 2.0;
float ok_107(float x) { return x + k_107 * 3.0; }
static const float k_108 = 3.0;
float ok_108(float x) { return x + k_108 * 4.0; }
static const float k_109 = 4.0;
float ok_109(float x) { return x + k_109 * 5.0; }
static const float k_110 = 5.0;
float ok_110(float x) { return x + k_110 * 1.0; }
static const float k_111 = 6.0;
float ok_111(float x) { return x + k_111 * 2.0; }
static const float k_112 = 0.0;
float ok_112(float x) { return x + k_112 * 3.0; }
static const float k_113 = 1.0;
float ok_113(float x) { return x + k_113 * 4.0; }
static const float k_114 = 2.0;
float ok_114(float x) { return x + k_114 * 5.0; }
static const float k_115 = 3.0;
float ok_115(float x) { return x + k_115 * 1.0; }
static const float k_116 = 4.0;
float ok_116(float x) { return x + k_116 * 2.0; }
static const float k_117 = 5.0;
float ok_117(float x) { return x + k_117 * 3.0; }
static const float k_118 = 6.0;
float ok_118(float x) { return x + k_118 * 4.0; }
static const float k_119 = 0.0;
float ok_119(float x) { return x + k_119 * 5.0; }
static const float k_120 = 1.0;
float ok_120(float x) { return x + k_120 * 1.0; }
static const float k_121 = 2.0;
float ok_121(float x) { return x + k_121 * 2.0; }
static const float k_122 = 3.0;
float ok_122(float x) { return x + k_122 * 3.0; }
static const float k_123 = 4.0;
float ok_123(float x) { return x + k_123 * 4.0; }
static const float k_124 = 5.0;
float ok_124(float x) { return x + k_124 * 5.0; }
static const float k_125 = 6.0;
float ok_125(float x) { return x + k_125 * 1.0; }
static const float k_126 = 0.0;
float ok_126(float x) { return x + k_126 * 2.0; }
static const float k_127 = 1.0;
float ok_127(float x) { return x + k_127 * 3.0; }
static const float k_128 = 2.0;
float ok_128(float x) { return x + k_128 * 4.0; }
static const float k_129 = 3.0;
float ok_129(float x) { return x + k_129 * 5.0; }
static const float k_130 = 4.0;
float ok_130(float x) { return x + k_130 * 1.0; }
static const float k_131 = 5.0;
float ok_131(float x) { return x + k_131 * 2.0; }
static const float k_132 = 6.0;
float ok_132(float x) { return x + k_132 * 3.0; }
static const float k_133 = 0.0;
float ok_133(float x) { return x + k_133 * 4.0; }
static const float k_134 = 1.0;
float ok_134(float x) { return x + k_134 * 5.0; }
static const float k_135 = 2.0;
float ok_135(float x) { return x + k_135 * 1.0; }
static const float k_136 = 3.0;
float ok_136(float x) { return x + k_136 * 2.0; }
static const float k_137 = 4.0;
float ok_137(float x) { return x + k_137 * 3.0; }
static const float k_138 = 5.0;
float ok_138(float x) { return x + k_138 * 4.0; }
static const float k_139 = 6.0;
float ok_139(float x) { return x + k_139 * 5.0; }
static const float k_140 = 0.0;
float ok_140(float x) { return x + k_140 * 1.0; }
static const float k_141 = 1.0;
float ok_141(float x) { return x + k_141 * 2.0; }
static const float k_142 = 2.0;
float ok_142(float x) { return x + k_142 * 3.0; }
static const float k_143 = 3.0;
float ok_143(float x) { return x + k_143 * 4.0; }
static const float k_144 = 4.0;
float ok_144(float x) { return x + k_144 * 5.0; }
static const float k_145 = 5.0;
float ok_145(float x) { return x + k_145 * 1.0; }
static const float k_146 = 6.0;
float ok_146(float x) { return x + k_146 * 2.0; }
static const float k_147 = 0.0;
float ok_147(float x) { return x + k_147 * 3.0; }
static const float k_148 = 1.0;
float ok_148(float x) { return x + k_148 * 4.0; }
static const float k_149 = 2.0;
float ok_149(float x) { return x + k_149 * 5.0; }
static const float k_150 = 3.0;
float ok_150(float x) { return x + k_150 * 1.0; }
static const float k_151 = 4.0;
float ok_151(float x) { return x + k_151 * 2.0; }
static const float k_152 = 5.0;
float ok_152(float x) { return x + k_152 * 3.0; }
static const float k_153 = 6.0;
float ok_153(float x) { return x + k_153 * 4.0; }
static const float k_154 = 0.0;
float ok_154(float x) { return x + k_154 * 5.0; }
static const float k_155 = 1.0;
float ok_155(float x) { return x + k_155 * 1.0; }
static const float k_156 = 2.0;
float ok_156(float x) { return x + k_156 * 2.0; }
static const float k_157 = 3.0;
float ok_157(float x) { return x + k_157 * 3.0; }
static const float k_158 = 4.0;
float ok_158(float x) { return x + k_158 * 4.0; }
static const float k_159 = 5.0;
float ok_159(float x) { return x + k_159 * 5.0; }
static const float k_160 = 6.0;
float ok_160(float x) { return x + k_160 * 1.0; }
static const float k_161 = 0.0;
float ok_161(float x) { return x + k_161 * 2.0; }
static const float k_162 = 1.0;
float ok_162(float x) { return x + k_162 * 3.0; }
static const float k_163 = 2.0;
float ok_163(float x) { return x + k_163 * 4.0; }
static const float k_164 = 3.0;
float ok_164(float x) { return x + k_164 * 5.0; }
static const float k_165 = 4.0;
float ok_165(float x) { return x + k_165 * 1.0; }
static const float k_166 = 5.0;
float ok_166(float x) { return x + k_166 * 2.0; }
static const float k_167 = 6.0;
float ok_167(float x) { return x + k_167 * 3.0; }
static const float k_168 = 0.0;
float ok_168(float x) { return x + k_168 * 4.0; }
static const float k_169 = 1.0;
float ok_169(float x) { return x + k_169 * 5.0; }
static const float k_170 = 2.0;
float ok_170(float x) { return x + k_170 * 1.0; }
static const float k_171 = 3.0;
float ok_171(float x) { return x + k_171 * 2.0; }
static const float k_172 = 4.0;
float ok_172(float x) { return x + k_172 * 3.0; }
static const float k_173 = 5.0;
float ok_173(float x) { return x + k_173 * 4.0; }
static const float k_174 = 6.0;
float ok_174(float x) { return x + k_174 * 5.0; }
static const float k_175 = 0.0;
float ok_175(float x) { return x + k_175 * 1.0; }
static const float k_176 = 1.0;
float ok_176(float x) { return x + k_176 * 2.0; }
static const float k_177 = 2.0;
float ok_177(float x) { return x + k_177 * 3.0; }
static const float k_178 = 3.0;
float ok_178(float x) { return x + k_178 * 4.0; }
static const float k_179 = 4.0;
float ok_179(float x) { return x + k_179 * 5.0; }
static const float k_180 = 5.0;
float ok_180(float x) { return x + k_180 * 1.0; }
static const float k_181 = 6.0;
float ok_181(float x) { return x + k_181 * 2.0; }
static const float k_182 = 0.0;
float ok_182(float x) { return x + k_182 * 3.0; }
static const float k_183 = 1.0;
float ok_183(float x) { return x + k_183 * 4.0; }
static const float k_184 = 2.0;
float ok_184(float x) { return x + k_184 * 5.0; }
static const float k_185 = 3.0;
float ok_185(float x) { return x + k_185 * 1.0; }
static const float k_186 = 4.0;
float ok_186(float x) { return x + k_186 * 2.0; }
static const float k_187 = 5.0;
float ok_187(float x) { return x + k_187 * 3.0; }
static const float k_188 = 6.0;
float ok_188(float x) { return x + k_188 * 4.0; }
static const float k_189 = 0.0;
float ok_189(float x) { return x + k_189 * 5.0; }
static const float k_190 = 1.0;
float ok_190(float x) { return x + k_190 * 1.0; }
static const float k_191 = 2.0;
float ok_191(float x) { return x + k_191 * 2.0; }
static const float k_192 = 3.0;
float ok_192(float x) { return x + k_192 * 3.0; }
static const float k_193 = 4.0;
float ok_193(float x) { return x + k_193 * 4.0; }
static const float k_194 = 5.0;
float ok_194(float x) { return x + k_194 * 5.0; }
static const float k_195 = 6.0;
float ok_195(float x) { return x + k_195 * 1.0; }
static const float k_196 = 0.0;
float ok_196(float x) { return x + k_196 * 2.0; }
static const float k_197 = 1.0;
float ok_197(float x) { return x + k_197 * 3.0; }
static const float k_198 = 2.0;
float ok_198(float x) { return x + k_198 * 4.0; }
static const float k_199 = 3.0;
float ok_199(float x) { return x + k_199 * 5.0; }
static const float k_200 = 4.0;
float ok_200(float x) { return x + k_200 * 1.0; }
static const float k_201 = 5.0;
float ok_201(float x) { return x + k_201 * 2.0; }
static const float k_202 = 6.0;
float ok_202(float x) { return x + k_202 * 3.0; }
static const float k_203 = 0.0;
float ok_203(float x) { return x + k_203 * 4.0; }
static const float k_204 = 1.0;
float ok_204(float x) { return x + k_204 * 5.0; }
static const float k_205 = 2.0;
float ok_205(float x) { return x + k_205 * 1.0; }
static const float k_206 = 3.0;
float ok_206(float x) { return x + k_206 * 2.0; }
static const float k_207 = 4.0;
float ok_207(float x) { return x + k_207 * 3.0; }
static const float k_208 = 5.0;
float ok_208(float x) { return x + k_208 * 4.0; }
static const float k_209 = 6.0;
float ok_209(float x) { return x + k_209 * 5.0; }
static const float k_210 = 0.0;
float ok_210(float x) { return x + k_210 * 1.0; }
static const float k_211 = 1.0;
float ok_211(float x) { return x + k_211 * 2.0; }
static const float k_212 = 2.0;
float ok_212(float x) { return x + k_212 * 3.0; }
static const float k_213 = 3.0;
float ok_213(float x) { return x + k_213 * 4.0; }
static const float k_214 = 4.0;
float ok_214(float x) { return x + k_214 * 5.0; }
static const float k_215 = 5.0;
float ok_215(float x) { return x + k_215 * 1.0; }
static const float k_216 = 6.0;
float ok_216(float x) { return x + k_216 * 2.0; }
static const float k_217 = 0.0;
float ok_217(float x) { return x + k_217 * 3.0; }
static const float k_218 = 1.0;
float ok_218(float x) { return x + k_218 * 4.0; }
static const float k_219 = 2.0;
float ok_219(float x) { return x + k_219 * 5.0; }
static const float k_220 = 3.0;
float ok_220(float x) { return x + k_220 * 1.0; }
static const float k_221 = 4.0;
float ok_221(float x) { return x + k_221 * 2.0; }
static const float k_222 = 5.0;
float ok_222(float x) { return x + k_222 * 3.0; }
static const float k_223 = 6.0;
float ok_223(float x) { return x + k_223 * 4.0; }
static const float k_224 = 0.0;
float ok_224(float x) { return x + k_224 * 5.0; }
static const float k_225 = 1.0;
float ok_225(float x) { return x + k_225 * 1.0; }
static const float k_226 = 2.0;
float ok_226(float x) { return x + k_226 * 2.0; }
static const float k_227 = 3.0;
float ok_227(float x) { return x + k_227 * 3.0; }
static const float k_228 = 4.0;
float ok_228(float x) { return x + k_228 * 4.0; }
static const float k_229 = 5.0;
float ok_229(float x) { return x + k_229 * 5.0; }
static const float k_230 = 6.0;
float ok_230(float x) { return x + k_230 * 1.0; }
static const float k_231 = 0.0;
float ok_231(float x) { return x + k_231 * 2.0; }
static const float k_232 = 1.0;
float ok_232(float x) { return x + k_232 * 3.0; }
static const float k_233 = 2.0;
float ok_233(float x) { return x + k_233 * 4.0; }
static const float k_234 = 3.0;
float ok_234(float x) { return x + k_234 * 5.0; }
static const float k_235 = 4.0;
float ok_235(float x) { return x + k_235 * 1.0; }
static const float k_236 = 5.0;
float ok_236(float x) { return x + k_236 * 2.0; }
static const float k_237 = 6.0;
float ok_237(float x) { return x + k_237 * 3.0; }
static const float k_238 = 0.0;
float ok_238(float x) { return x + k_238 * 4.0; }
static const float k_239 = 1.0;
float ok_239(float x) { return x + k_239 * 5.0; }
static const float k_240 = 2.0;
float ok_240(float x) { return x + k_240 * 1.0; }
static const float k_241 = 3.0;
float ok_241(float x) { return x + k_241 * 2.0; }
static const float k_242 = 4.0;
float ok_242(float x) { return x + k_242 * 3.0; }
static const float k_243 = 5.0;
float ok_243(float x) { return x + k_243 * 4.0; }
static const float k_244 = 6.0;
float ok_244(float x) { return x + k_244 * 5.0; }
static const float k_245 = 0.0;
float ok_245(float x) { return x + k_245 * 1.0; }
static const float k_246 = 1.0;
float ok_246(float x) { return x + k_246 * 2.0; }
static const float k_247 = 2.0;
float ok_247(float x) { return x + k_247 * 3.0; }
static const float k_248 = 3.0;
float ok_248(float x) { return x + k_248 * 4.0; }
static const float k_249 = 4.0;
float ok_249(float x) { return x + k_249 * 5.0; }
static const float k_250 = 5.0;
float ok_250(float x) { return x + k_250 * 1.0; }
static const float k_251 = 6.0;
float ok_251(float x) { return x + k_251 * 2.0; }
static const float k_252 = 0.0;
float ok_252(float x) { return x + k_252 * 3.0; }
static const float k_253 = 1.0;
float ok_253(float x) { return x + k_253 * 4.0; }
static const float k_254 = 2.0;
float ok_254(float x) { return x + k_254 * 5.0; }
static const float k_255 = 3.0;
float ok_255(float x) { return x + k_255 * 1.0; }
static const float k_256 = 4.0;
float ok_256(float x) { return x + k_256 * 2.0; }
static const float k_257 = 5.0;
float ok_257(float x) { return x + k_257 * 3.0; }
static const float k_258 = 6.0;
float ok_258(float x) { return x + k_258 * 4.0; }
static const float k_259 = 0.0;
float ok_259(float x) { return x + k_259 * 5.0; }
static const float k_260 = 1.0;
float ok_260(float x) { return x + k_260 * 1.0; }
static const float k_261 = 2.0;
float ok_261(float x) { return x + k_261 * 2.0; }
static const float k_262 = 3.0;
float ok_262(float x) { return x + k_262 * 3.0; }
static const float k_263 = 4.0;
float ok_263(float x) { return x + k_263 * 4.0; }
static const float k_264 = 5.0;
float ok_264(float x) { return x + k_264 * 5.0; }
static const float k_265 = 6.0;
float ok_265(float x) { return x + k_265 * 1.0; }
static const float k_266 = 0.0;
float ok_266(float x) { return x + k_266 * 2.0; }
static const float k_267 = 1.0;
float ok_267(float x) { return x + k_267 * 3.0; }
static const float k_268 = 2.0;
float ok_268(float x) { return x + k_268 * 4.0; }
static const float k_269 = 3.0;
float ok_269(float x) { return x + k_269 * 5.0; }
static const float k_270 = 4.0;
float ok_270(float x) { return x + k_270 * 1.0; }
static const float k_271 = 5.0;
float ok_271(float x) { return x + k_271 * 2.0; }
static const float k_272 = 6.0;
float ok_272(float x) { return x + k_272 * 3.0; }
static const float k_273 = 0.0;
float ok_273(float x) { return x + k_273 * 4.0; }
static const float k_274 = 1.0;
float ok_274(float x) { return x + k_274 * 5.0; }
static const float k_275 = 2.0;
float ok_275(float x) { return x + k_275 * 1.0; }
static const float k_276 = 3.0;
float ok_276(float x) { return x + k_276 * 2.0; }
static const float k_277 = 4.0;
float ok_277(float x) { return x + k_277 * 3.0; }
static const float k_278 = 5.0;
float ok_278(float x) { return x + k_278 * 4.0; }
static const float k_279 = 6.0;
float ok_279(float x) { return x + k_279 * 5.0; }
static const float k_280 = 0.0;
float ok_280(float x) { return x + k_280 * 1.0; }
static const float k_281 = 1.0;
float ok_281(float x) { return x + k_281 * 2.0; }
static const float k_282 = 2.0;
float ok_282(float x) { return x + k_282 * 3.0; }
static const float k_283 = 3.0;
float ok_283(float x) { return x + k_283 * 4.0; }
static const float k_284 = 4.0;
float ok_284(float x) { return x + k_284 * 5.0; }
static const float k_285 = 5.0;
float ok_285(float x) { return x + k_285 * 1.0; }
static const float k_286 = 6.0;
float ok_286(float x) { return x + k_286 * 2.0; }
static const float k_287 = 0.0;
float ok_287(float x) { return x + k_287 * 3.0; }
static const float k_288 = 1.0;
float ok_288(float x) { return x + k_288 * 4.0; }
static const float k_289 = 2.0;
float ok_289(float x) { return x + k_289 * 5.0; }
static const float k_290 = 3.0;
float ok_290(float x) { return x + k_290 * 1.0; }
static const float k_291 = 4.0;
float ok_291(float x) { return x + k_291 * 2.0; }
static const float k_292 = 5.0;
float ok_292(float x) { return x + k_292 * 3.0; }
static const float k_293 = 6.0;
float ok_293(float x) { return x + k_293 * 4.0; }
static const float k_294 = 0.0;
float ok_294(float x) { return x + k_294 * 5.0; }
static const float k_295 = 1.0;
float ok_295(float x) { return x + k_295 * 1.0; }
static const float k_296 = 2.0;
float ok_296(float x) { return x + k_296 * 2.0; }
static const float k_297 = 3.0;
float ok_297(float x) { return x + k_297 * 3.0; }
static const float k_298 = 4.0;
float ok_298(float x) { return x + k_298 * 4.0; }
static const float k_299 = 5.0;
float ok_299(float x) { return x + k_299 * 5.0; }
static const float k_300 = 6.0;
float ok_300(float x) { return x + k_300 * 1.0; }
static const float k_301 = 0.0;
float ok_301(float x) { return x + k_301 * 2.0; }
static const float k_302 = 1.0;
float ok_302(float x) { return x + k_302 * 3.0; }
static const float k_303 = 2.0;
float ok_303(float x) { return x + k_303 * 4.0; }
static const float k_304 = 3.0;
float ok_304(float x) { return x + k_304 * 5.0; }
static const float k_305 = 4.0;
float ok_305(float x) { return x + k_305 * 1.0; }
static const float k_306 = 5.0;
float ok_306(float x) { return x + k_306 * 2.0; }
static const float k_307 = 6.0;
float ok_307(float x) { return x + k_307 * 3.0; }
static const float k_308 = 0.0;
float ok_308(float x) { return x + k_308 * 4.0; }
static const float k_309 = 1.0;
float ok_309(float x) { return x + k_309 * 5.0; }
static const float k_310 = 2.0;
float ok_310(float x) { return x + k_310 * 1.0; }
static const float k_311 = 3.0;
float ok_311(float x) { return x + k_311 * 2.0; }
static const float k_312 = 4.0;
float ok_312(float x) { return x + k_312 * 3.0; }
static const float k_313 = 5.0;
float ok_313(float x) { return x + k_313 * 4.0; }
static const float k_314 = 6.0;
float ok_314(float x) { return x + k_314 * 5.0; }
static const float k_315 = 0.0;
float ok_315(float x) { return x + k_315 * 1.0; }
static const float k_316 = 1.0;
float ok_316(float x) { return x + k_316 * 2.0; }
static const float k_317 = 2.0;
float ok_317(float x) { return x + k_317 * 3.0; }
static const float k_318 = 3.0;
float ok_318(float x) { return x + k_318 * 4.0; }
static const float k_319 = 4.0;
float ok_319(float x) { return x + k_319 * 5.0; }
static const float k_320 = 5.0;
float ok_320(float x) { return x + k_320 * 1.0; }
static const float k_321 = 6.0;
float ok_321(float x) { return x + k_321 * 2.0; }
static const float k_322 = 0.0;
float ok_322(float x) { return x + k_322 * 3.0; }
static const float k_323 = 1.0;
float ok_323(float x) { return x + k_323 * 4.0; }
static const float k_324 = 2.0;
float ok_324(float x) { return x + k_324 * 5.0; }
static const float k_325 = 3.0;
float ok_325(float x) { return x + k_325 * 1.0; }
static const float k_326 = 4.0;
float ok_326(float x) { return x + k_326 * 2.0; }
static const float k_327 = 5.0;
float ok_327(float x) { return x + k_327 * 3.0; }
static const float k_328 = 6.0;
float ok_328(float x) { return x + k_328 * 4.0; }
static const float k_329 = 0.0;
float ok_329(float x) { return x + k_329 * 5.0; }
static const float k_330 = 1.0;
float ok_330(float x) { return x + k_330 * 1.0; }
static const float k_331 = 2.0;
float ok_331(float x) { return x + k_331 * 2.0; }
static const float k_332 = 3.0;
float ok_332(float x) { return x + k_332 * 3.0; }
static const float k_333 = 4.0;
float ok_333(float x) { return x + k_333 * 4.0; }
static const float k_334 = 5.0;
float ok_334(float x) { return x + k_334 * 5.0; }
static const float k_335 = 6.0;
float ok_335(float x) { return x + k_335 * 1.0; }
static const float k_336 = 0.0;
float ok_336(float x) { return x + k_336 * 2.0; }
static const float k_337 = 1.0;
float ok_337(float x) { return x + k_337 * 3.0; }
static const float k_338 = 2.0;
float ok_338(float x) { return x + k_338 * 4.0; }
static const float k_339 = 3.0;
float ok_339(float x) { return x + k_339 * 5.0; }
static const float k_340 = 4.0;
float ok_340(float x) { return x + k_340 * 1.0; }
static const float k_341 = 5.0;
float ok_341(float x) { return x + k_341 * 2.0; }
static const float k_342 = 6.0;
float ok_342(float x) { return x + k_342 * 3.0; }
static const float k_343 = 0.0;
float ok_343(float x) { return x + k_343 * 4.0; }
static const float k_344 = 1.0;
float ok_344(float x) { return x + k_344 * 5.0; }
static const float k_345 = 2.0;
float ok_345(float x) { return x + k_345 * 1.0; }
static const float k_346 = 3.0;
float ok_346(float x) { return x + k_346 * 2.0; }
static const float k_347 = 4.0;
float ok_347(float x) { return x + k_347 * 3.0; }
static const float k_348 = 5.0;
float ok_348(float x) { return x + k_348 * 4.0; }
static const float k_349 = 6.0;
float ok_349(float x) { return x + k_349 * 5.0; }
static const float k_350 = 0.0;
float ok_350(float x) { return x + k_350 * 1.0; }
static const float k_351 = 1.0;
float ok_351(float x) { return x + k_351 * 2.0; }
static const float k_352 = 2.0;
float ok_352(float x) { return x + k_352 * 3.0; }
static const float k_353 = 3.0;
float ok_353(float x) { return x + k_353 * 4.0; }
static const float k_354 = 4.0;
float ok_354(float x) { return x + k_354 * 5.0; }
static const float k_355 = 5.0;
float ok_355(float x) { return x + k_355 * 1.0; }
static const float k_356 = 6.0;
float ok_356(float x) { return x + k_356 * 2.0; }
static const float k_357 = 0.0;
float ok_357(float x) { return x + k_357 * 3.0; }
static const float k_358 = 1.0;
float ok_358(float x) { return x + k_358 * 4.0; }
static const float k_359 = 2.0;
float ok_359(float x) { return x + k_359 * 5.0; }
static const float k_360 = 3.0;
float ok_360(float x) { return x + k_360 * 1.0; }
static const float k_361 = 4.0;
float ok_361(float x) { return x + k_361 * 2.0; }
static const float k_362 = 5.0;
float ok_362(float x) { return x + k_362 * 3.0; }
static const float k_363 = 6.0;
float ok_363(float x) { return x + k_363 * 4.0; }
static const float k_364 = 0.0;
float ok_364(float x) { return x + k_364 * 5.0; }
static const float k_365 = 1.0;
float ok_365(float x) { return x + k_365 * 1.0; }
static const float k_366 = 2.0;
float ok_366(float x) { return x + k_366 * 2.0; }
static const float k_367 = 3.0;
float ok_367(float x) { return x + k_367 * 3.0; }
static const float k_368 = 4.0;
float ok_368(float x) { return x + k_368 * 4.0; }
static const float k_369 = 5.0;
float ok_369(float x) { return x + k_369 * 5.0; }
static const float k_370 = 6.0;
float ok_370(float x) { return x + k_370 * 1.0; }
static const float k_371 = 0.0;
float ok_371(float x) { return x + k_371 * 2.0; }
static const float k_372 = 1.0;
float ok_372(float x) { return x + k_372 * 3.0; }
static const float k_373 = 2.0;
float ok_373(float x) { return x + k_373 * 4.0; }
static const float k_374 = 3.0;
float ok_374(float x) { return x + k_374 * 5.0; }
static const float k_375 = 4.0;
float ok_375(float x) { return x + k_375 * 1.0; }
static const float k_376 = 5.0;
float ok_376(float x) { return x + k_376 * 2.0; }
static const float k_377 = 6.0;
float ok_377(float x) { return x + k_377 * 3.0; }
static const float k_378 = 0.0;
float ok_378(float x) { return x + k_378 * 4.0; }
static const float k_379 = 1.0;
float ok_379(float x) { return x + k_379 * 5.0; }
static const float k_380 = 2.0;
float ok_380(float x) { return x + k_380 * 1.0; }
static const float k_381 = 3.0;
float ok_381(float x) { return x + k_381 * 2.0; }
static const float k_382 = 4.0;
float ok_382(float x) { return x + k_382 * 3.0; }
static const float k_383 = 5.0;
float ok_383(float x) { return x + k_383 * 4.0; }
static const float k_384 = 6.0;
float ok_384(float x) { return x + k_384 * 5.0; }
static const float k_385 = 0.0;
float ok_385(float x) { return x + k_385 * 1.0; }
static const float k_386 = 1.0;
float ok_386(float x) { return x + k_386 * 2.0; }
static const float k_387 = 2.0;
float ok_387(float x) { return x + k_387 * 3.0; }
static const float k_388 = 3.0;
float ok_388(float x) { return x + k_388 * 4.0; }
static const float k_389 = 4.0;
float ok_389(float x) { return x + k_389 * 5.0; }
static const float k_390 = 5.0;
float ok_390(float x) { return x + k_390 * 1.0; }
static const float k_391 = 6.0;
float ok_391(float x) { return x + k_391 * 2.0; }
static const float k_392 = 0.0;
float ok_392(float x) { return x + k_392 * 3.0; }
static const float k_393 = 1.0;
float ok_393(float x) { return x + k_393 * 4.0; }
static const float k_394 = 2.0;
float ok_394(float x) { return x + k_394 * 5.0; }
static const float k_395 = 3.0;
float ok_395(float x) { return x + k_395 * 1.0; }
static const float k_396 = 4.0;
float ok_396(float x) { return x + k_396 * 2.0; }
static const float k_397 = 5.0;
float ok_397(float x) { return x + k_397 * 3.0; }
static const float k_398 = 6.0;
float ok_398(float x) { return x + k_398 * 4.0; }
static const float k_399 = 0.0;
float ok_399(float x) { return x + k_399 * 5.0; }

[shader("compute")]
[numthreads(1,1,1)]
void computeMain()
{
    float acc = 0.0;
    for (int i = 0; i < 400; ++i) acc += ok_0(float(i));
    outBuf[0] = acc;
}