has_zero
} while (!has_zero(a, &adata, &constants));
if (has_zero(a, &adata, &constants) | has_zero(b, &bdata, &constants)) {
} while (!(has_zero(a, &adata, &constants) | has_zero(b, &bdata, &constants)));
if (has_zero(c, &data, &constants)) {
if (has_zero(c, &data, &constants)) {
if (has_zero(c, &data, &constants)) {