A single entry point with n stacked control-flow blocks — nested if/else, a bounded inner loop with break/continue, and a switch — all mutating a small set of carried locals (a, b, c, d). Re-assigning the same locals across many branches and loop back-edges is what forces SSA construction to insert phi nodes and what the CFG simplifier (constructSSA, inside simplifyIR) must chew through. Isolates the SSA/CFG axis that complexity_ladder only touches as one of several mixed dimensions; nothing else stresses it alone. Scales by breadth = number of control-flow blocks, so basic-block and phi counts grow with n. Scaling null: n scales control-flow blocks; ideal SSA construction is near-linear in block count.
bucket: control_flow · compile mode: target · flags: -target spirv -emit-spirv-directly · default N: 120
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: 188.4 → 182.1 ms -3.4% (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 |
|---|---|---|---|
| linkAndOptimizeIR (self) | -4.3 ms | -12.1% | -2.3pp |
| generateOutput (self) | -0.6 ms | -0.8% | -0.3pp |
| simplifyIR | -0.5 ms | -2.3% | -0.3pp |
| (remaining 11 buckets) | -1.0 ms | – | -0.5pp |
| readSerializedModuleIR | -2.5 ms | -4.7% | – |
| loadBuiltinModule | -1.9 ms | -1.8% | – |
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 %) |
|---|---|---|---|
| none | |||
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 control_flow_ssa --label repro --gen-dir repro-control_flow_ssa
the complete compiled source (N = 120), shown in full
// AUTO-GENERATED by perf-suite/workloads.py - do not edit by hand.
RWStructuredBuffer<float> outBuf;
StructuredBuffer<float> inBuf;
[shader("compute")]
[numthreads(64,1,1)]
void computeMain(uint3 tid : SV_DispatchThreadID)
{
int idx = int(tid.x);
float a = inBuf[idx], b = inBuf[idx + 1], c = 0.0, d = 1.0;
if ((idx + 0) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 0) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 1) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 1) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 2) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 2) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 3) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 3.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 3) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 4) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 4.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 4) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 5) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 5.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 5) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 6) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 6.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 6) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 7) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 7.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 7) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 8) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 8.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 8) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 9) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 9) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 10) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 10) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 11) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 11) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 12) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 3.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 12) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 13) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 4.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 13) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 14) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 5.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 14) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 15) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 6.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 15) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 16) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 7.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 16) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 17) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 8.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 17) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 18) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 18) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 19) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 19) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 20) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 20) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 21) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 3.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 21) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 22) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 4.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 22) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 23) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 5.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 23) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 24) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 6.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 24) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 25) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 7.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 25) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 26) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 8.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 26) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 27) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 27) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 28) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 28) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 29) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 29) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 30) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 3.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 30) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 31) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 4.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 31) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 32) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 5.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 32) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 33) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 6.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 33) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 34) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 7.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 34) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 35) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 8.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 35) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 36) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 36) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 37) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 37) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 38) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 38) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 39) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 3.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 39) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 40) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 4.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 40) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 41) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 5.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 41) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 42) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 6.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 42) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 43) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 7.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 43) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 44) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 8.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 44) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 45) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 45) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 46) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 46) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 47) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 47) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 48) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 3.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 48) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 49) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 4.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 49) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 50) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 5.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 50) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 51) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 6.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 51) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 52) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 7.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 52) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 53) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 8.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 53) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 54) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 54) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 55) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 55) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 56) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 56) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 57) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 3.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 57) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 58) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 4.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 58) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 59) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 5.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 59) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 60) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 6.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 60) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 61) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 7.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 61) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 62) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 8.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 62) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 63) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 63) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 64) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 64) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 65) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 65) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 66) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 3.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 66) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 67) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 4.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 67) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 68) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 5.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 68) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 69) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 6.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 69) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 70) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 7.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 70) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 71) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 8.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 71) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 72) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 72) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 73) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 73) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 74) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 74) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 75) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 3.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 75) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 76) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 4.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 76) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 77) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 5.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 77) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 78) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 6.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 78) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 79) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 7.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 79) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 80) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 8.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 80) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 81) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 81) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 82) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 82) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 83) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 83) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 84) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 3.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 84) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 85) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 4.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 85) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 86) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 5.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 86) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 87) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 6.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 87) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 88) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 7.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 88) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 89) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 8.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 89) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 90) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 90) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 91) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 91) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 92) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 92) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 93) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 3.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 93) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 94) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 4.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 94) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 95) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 5.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 95) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 96) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 6.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 96) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 97) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 7.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 97) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 98) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 8.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 98) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 99) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 99) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 100) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 100) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 101) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 101) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 102) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 3.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 102) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 103) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 4.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 103) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 104) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 5.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 104) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 105) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 6.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 105) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 106) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 7.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 106) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 107) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 8.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 107) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 108) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 108) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 109) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 109) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 110) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 110) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 111) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 3.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 111) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 112) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 4.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 112) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 113) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 5.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 113) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 114) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 6.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 114) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 115) % 2 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 7.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 115) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 116) % 3 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 1; ++k)
{
c += a - b * 0.5;
if (c > 8.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 116) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 117) % 4 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 2; ++k)
{
c += a - b * 0.5;
if (c > 0.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 117) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 118) % 5 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 3; ++k)
{
c += a - b * 0.5;
if (c > 1.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 118) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
if ((idx + 119) % 6 == 0)
{
a = a * 1.1 + b;
[MaxIters(4)] for (int k = 0; k < 4; ++k)
{
c += a - b * 0.5;
if (c > 2.0) { b = c; break; }
else { d = d * 0.99 + a; continue; }
}
}
else
{
switch ((idx + 119) % 4)
{
case 0: a -= d; break;
case 1: b += c; break;
case 2: c *= 1.01; break;
default: d -= a * 0.1;
}
}
outBuf[idx] = a + b + c + d;
}