n [ForceInline] functions in bounded-depth groups. The inliner collapses each group into its group-top; the entry sums all group-tops, giving the SSA simplifier large bodies to chew on. Scales by breadth (bounded nesting).
bucket: inlining · compile mode: target · flags: -target spirv -emit-spirv-directly · default N: 400
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.
exact compiled source (N = 400); long files show the first 40 lines, the area around computeMain (±40), and the last 40 lines (gaps elided)
// AUTO-GENERATED by perf-suite/workloads.py — do not edit by hand.
RWStructuredBuffer<float> outBuf;
[ForceInline] float step_0(float x) { return x * 1.01 + sin(x); }
[ForceInline] float step_1(float x) { float t = step_0(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_2(float x) { float t = step_1(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_3(float x) { float t = step_2(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_4(float x) { float t = step_3(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_5(float x) { float t = step_4(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_6(float x) { float t = step_5(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_7(float x) { float t = step_6(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_8(float x) { return x * 1.01 + sin(x); }
[ForceInline] float step_9(float x) { float t = step_8(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_10(float x) { float t = step_9(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_11(float x) { float t = step_10(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_12(float x) { float t = step_11(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_13(float x) { float t = step_12(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_14(float x) { float t = step_13(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_15(float x) { float t = step_14(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_16(float x) { return x * 1.01 + sin(x); }
[ForceInline] float step_17(float x) { float t = step_16(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_18(float x) { float t = step_17(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_19(float x) { float t = step_18(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_20(float x) { float t = step_19(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_21(float x) { float t = step_20(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_22(float x) { float t = step_21(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_23(float x) { float t = step_22(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_24(float x) { return x * 1.01 + sin(x); }
[ForceInline] float step_25(float x) { float t = step_24(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_26(float x) { float t = step_25(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_27(float x) { float t = step_26(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_28(float x) { float t = step_27(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_29(float x) { float t = step_28(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_30(float x) { float t = step_29(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_31(float x) { float t = step_30(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_32(float x) { return x * 1.01 + sin(x); }
[ForceInline] float step_33(float x) { float t = step_32(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_34(float x) { float t = step_33(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_35(float x) { float t = step_34(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_36(float x) { float t = step_35(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
// … 326 lines omitted …
[ForceInline] float step_363(float x) { float t = step_362(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_364(float x) { float t = step_363(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_365(float x) { float t = step_364(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_366(float x) { float t = step_365(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_367(float x) { float t = step_366(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_368(float x) { return x * 1.01 + sin(x); }
[ForceInline] float step_369(float x) { float t = step_368(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_370(float x) { float t = step_369(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_371(float x) { float t = step_370(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_372(float x) { float t = step_371(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_373(float x) { float t = step_372(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_374(float x) { float t = step_373(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_375(float x) { float t = step_374(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_376(float x) { return x * 1.01 + sin(x); }
[ForceInline] float step_377(float x) { float t = step_376(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_378(float x) { float t = step_377(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_379(float x) { float t = step_378(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_380(float x) { float t = step_379(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_381(float x) { float t = step_380(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_382(float x) { float t = step_381(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_383(float x) { float t = step_382(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_384(float x) { return x * 1.01 + sin(x); }
[ForceInline] float step_385(float x) { float t = step_384(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_386(float x) { float t = step_385(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_387(float x) { float t = step_386(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_388(float x) { float t = step_387(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_389(float x) { float t = step_388(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_390(float x) { float t = step_389(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_391(float x) { float t = step_390(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_392(float x) { return x * 1.01 + sin(x); }
[ForceInline] float step_393(float x) { float t = step_392(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_394(float x) { float t = step_393(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_395(float x) { float t = step_394(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_396(float x) { float t = step_395(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_397(float x) { float t = step_396(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_398(float x) { float t = step_397(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[ForceInline] float step_399(float x) { float t = step_398(x); return t * 1.01 + cos(t) - sin(x * 0.5); }
[shader("compute")]
[numthreads(1,1,1)]
void computeMain()
{
float x = outBuf[0]; float acc = 0.0;
acc += step_7(x);
acc += step_15(x);
acc += step_23(x);
acc += step_31(x);
acc += step_39(x);
acc += step_47(x);
acc += step_55(x);
acc += step_63(x);
acc += step_71(x);
acc += step_79(x);
acc += step_87(x);
acc += step_95(x);
acc += step_103(x);
acc += step_111(x);
acc += step_119(x);
acc += step_127(x);
acc += step_135(x);
acc += step_143(x);
acc += step_151(x);
acc += step_159(x);
acc += step_167(x);
acc += step_175(x);
acc += step_183(x);
acc += step_191(x);
acc += step_199(x);
acc += step_207(x);
acc += step_215(x);
acc += step_223(x);
acc += step_231(x);
acc += step_239(x);
acc += step_247(x);
acc += step_255(x);
acc += step_263(x);
acc += step_271(x);
acc += step_279(x);
acc += step_287(x);
acc += step_295(x);
acc += step_303(x);
acc += step_311(x);
acc += step_319(x);
acc += step_327(x);
acc += step_335(x);
acc += step_343(x);
acc += step_351(x);
acc += step_359(x);
acc += step_367(x);
acc += step_375(x);
acc += step_383(x);
acc += step_391(x);
acc += step_399(x);
outBuf[0] = acc;
}