template ManyConstraints(NUM_VARIABLES, NUM_CONSTRAINTS) { signal private input a; signal output c; assert(NUM_VARIABLES <= NUM_CONSTRAINTS) signal b[NUM_VARIABLES]; b[0] <== a*a; var i; for (i = 1; i < NUM_VARIABLES; i++) { b[i] <== b[i-1]*b[i-1]; } i = i-1; for (var j = NUM_VARIABLES; j < NUM_CONSTRAINTS; j++) { b[i] === b[i-1]*b[i-1]; } c <== b[i];} component main = ManyConstraints(NUM_VARIABLES_TEMPLATE, NUM_CONSTRAINTS_TEMPLATE);
template ManyConstraints(NUM_VARIABLES, NUM_CONSTRAINTS) {
signal private input a;
signal output c;
assert(NUM_VARIABLES <= NUM_CONSTRAINTS)
signal b[NUM_VARIABLES];
b[0] <== a*a;
var i;
for (i = 1; i < NUM_VARIABLES; i++) {
b[i] <== b[i-1]*b[i-1];
}
i = i-1;
for (var j = NUM_VARIABLES; j < NUM_CONSTRAINTS; j++) {
b[i] === b[i-1]*b[i-1];
c <== b[i];
component main = ManyConstraints(NUM_VARIABLES_TEMPLATE, NUM_CONSTRAINTS_TEMPLATE);