var mk_sum(mpz const & c, unsigned sz, mpz const * as, var const * xs) override { try { m_as.reserve(sz); for (unsigned i = 0; i < sz; i++) { int2hwf(as[i], m_as[i]); } int2hwf(c, m_c); return m_ctx.mk_sum(m_c, sz, m_as.c_ptr(), xs); } catch (f2n<mpf_manager>::exception) { throw subpaving::exception(); } }