- bigint_word_t g_b[i + 2], x_b[x->length_W - i], y_b[y->length_W - i];
- bigint_word_t u_b[x->length_W - i], v_b[y->length_W - i];
- bigint_word_t a_b[y->length_W + 2], c_b[y->length_W + 2];
- bigint_word_t b_b[x->length_W + 2], d_b[x->length_W + 2];
- bigint_t g, x_, y_, u, v, a_, b_, c_, d_;
-
- g.wordv = g_b;
- x_.wordv = x_b;
- y_.wordv = y_b;
- memset(g_b, 0, i * sizeof(bigint_word_t));
- g_b[i] = 1;
+
+ ALLOC_BIGINT_WORDS(g_w, i + 2);
+ ALLOC_BIGINT_WORDS(x_w, x->length_W - i);
+ ALLOC_BIGINT_WORDS(y_w, y->length_W - i);
+ ALLOC_BIGINT_WORDS(u_w, x->length_W - i);
+ ALLOC_BIGINT_WORDS(v_w, y->length_W - i);
+ ALLOC_BIGINT_WORDS(a_w, y->length_W + 2);
+ ALLOC_BIGINT_WORDS(c_w, y->length_W + 2);
+ ALLOC_BIGINT_WORDS(b_w, x->length_W + 2);
+ ALLOC_BIGINT_WORDS(d_w, x->length_W + 2);
+
+ bigint_t g, x_, y_, u, v, a_, b_, c_, d_;
+
+ g.wordv = g_w;
+ x_.wordv = x_w;
+ y_.wordv = y_w;
+ memset(g_w, 0, i * sizeof(bigint_word_t));
+ g_w[i] = 1;