Leads to leak reports when using as a library
static coefficient_t zero;
static int zero_initialized = 0;
static const coefficient_t* get_zero() {
if (!zero_initialized) {
zero_initialized = 1;
zero.type = COEFFICIENT_NUMERIC;
integer_construct(&zero.value.num);
}
return &zero;
}