// registers reused by scopes that never overlap, and a fixed array read through its cached items and length o3 int scopes(fixed []int f) { int total = 0; for (int a = 0; a < 3; a++) { int x = a * 2; total += x; } for (int b = 0; b < 3; b++) { int y = b * 3; total += y; } for (int c = 0; c < 3; c++) { int z = c * 5; total += z; } for (int e = 0; e < len(f); e++) { int w = f[e]; total += w; } for (int g = 0; g < 4; g++) { int h = g + 1, q = h * h, r = q - 1; total += r; } return total; } fn main() { fixed []int f = new(fixed []int, 4); for (int i = 0; i < 4; i++) f[i] = 10 * i; put_n(scopes(f)); put_c(10); free(d*f); return 0; }