FAREA
intersect[fia * FAREA + fib] = s;
u_char *op = &overlap[fia * FAREA + fib];
for (int fia = FAREA; fia-- > 0;) {
extern struct combostr frames[FAREA]; /* storage for single frames */
extern u_char overlap[FAREA * FAREA];
extern spot_index intersect[FAREA * FAREA]; /* frame [a][b] intersection */
n = board[s1].s_frame[r1] * FAREA
struct combostr frames[FAREA]; /* storage for all frames */
u_char overlap[FAREA * FAREA]; /* non-zero if frame [a][b] overlap;
spot_index intersect[FAREA * FAREA]; /* frame [a][b] intersection */
overlap[a * FAREA + b] &= 0xA;
overlap[b * FAREA + a] &= 0xC;
intersect[a * FAREA + b] = s;
intersect[b * FAREA + a] = s;
overlap[a * FAREA + b] = 0;
overlap[b * FAREA + a] = 0;
overlap[a * FAREA + b] &= 0xAF;
overlap[b * FAREA + a] &= 0xCF;
overlap[a * FAREA + b] &= 0xF;
overlap[b * FAREA + a] &= 0xF;
intersect[a * FAREA + b] = es;
intersect[b * FAREA + a] = es;
overlap[a * FAREA + b] = 0;
overlap[b * FAREA + a] = 0;
n = (frame_index)(fcbp - frames) * FAREA;
static struct combostr *hashcombos[FAREA];/* hash list for finding duplicates */
cbpp = &hashcombos[FAREA];