// PERMUTE_ARGS: | |
import core.stdc.stdio; | |
int a(int k, lazy int x1, lazy int x2, lazy int x3, lazy int x4, lazy int x5) | |
{ | |
int delegate() b; | |
b = { k -= 1; return a(k, b(), x1, x2, x3, x4); }; | |
if (k <= 0) | |
return x4 + x5; | |
else | |
return b(); | |
} | |
int main() | |
{ | |
assert(a(10, 1, -1, -1, 1, 0) == -67); | |
return 0; | |
} |