felem_contract
void (*felem_contract)(void *out, const void *in));
felem_contract(x_out, x_in);
felem_contract(y_out, y_in);
felem_contract);
felem_contract(x_in, x_out);
felem_contract(y_in, y_out);
felem_contract(z_in, z_out);
felem_contract(out, tmp);
felem_contract(tmp[1], ftmp);
felem_contract(x_out, x_in);
felem_contract(y_out, y_in);
felem_contract(x_in, x_out);
felem_contract(y_in, y_out);
felem_contract(z_in, z_out);
felem_contract(out, tmp);
felem_contract(out, tmp);
felem_contract(x_out, x_in);
felem_contract(y_out, y_in);
felem_contract);
felem_contract(x_in, x_out);
felem_contract(y_in, y_out);
felem_contract(z_in, z_out);
felem_contract(x_out, x_in);
felem_contract(y_out, y_in);
felem_contract);
felem_contract(x_in, x_out);
felem_contract(y_in, y_out);
felem_contract(z_in, z_out);
felem_contract(X(i), X(i));
felem_contract(Y(i), Y(i));
void (*felem_contract)(void